summaryrefslogtreecommitdiffstats
path: root/crypto/api.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2012-04-13 14:50:53 -0700
committerJens Axboe <axboe@kernel.dk>2012-04-20 10:06:06 +0200
commit80fd99792b0b9f162abdf3da12fb10eb9eb5f321 (patch)
tree3273581c76d9bcad18f0668f6707be9323e650fb /crypto/api.c
parentda8b066262e12d1d0a3b1e6d3486e500169bf730 (diff)
downloadlinux-80fd99792b0b9f162abdf3da12fb10eb9eb5f321.tar.bz2
blkcg: make sure blkg_lookup() returns %NULL if @q is bypassing
Currently, blkg_lookup() doesn't check @q bypass state. This patch updates blk_queue_bypass_start() to do synchronize_rcu() before returning and updates blkg_lookup() to check blk_queue_bypass() and return %NULL if bypassing. This ensures blkg_lookup() returns %NULL if @q is bypassing. This is to guarantee that nobody is accessing policy data while @q is bypassing, which is necessary to allow replacing blkio_cgroup->pd[] in place on policy [de]activation. v2: Added more comments explaining bypass guarantees as suggested by Vivek. v3: Added more comments explaining why there's no synchronize_rcu() in blk_cleanup_queue() as suggested by Vivek. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'crypto/api.c')
0 files changed, 0 insertions, 0 deletions