[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#523359: openvz: fix oops in "cfq: revalidate cached async queue"



Package: linux-2.6
Version: 2.6.26-15
Severity: important
Tags: patch


commit 7e0f90d2f2d221e66d64e61ee3c4b3b83c2545de
Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
Date:   Fri Mar 27 15:01:41 2009 +0300

    cfq: revalidate cached async queue
    
    Async queues are stored on struct cfq_bc_data
    and are cached on per-process struct cfq_io_context.
    
    The cached queue may be invalid due to io_page beancounter
    driven io-context switch.
    
    So, cfq_io_context gets cached queue, but corresponding
    cfq_bc and user_beancounter may be already destroyed -- all
    this leads to oops at get_beancounter in cfq_set_request.
    
    Add check for async queue owner and refill cache if it invalid.
    
    The oops itself is like this:


-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (900, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.29-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash



Reply to: