diff options
author | Yan, Zheng <zheng.z.yan@intel.com> | 2014-04-18 07:20:27 +0200 |
---|---|---|
committer | Yan, Zheng <zheng.z.yan@intel.com> | 2014-06-06 03:29:53 +0200 |
commit | 2cd698be9a3d3a0f8f3c66814eac34144c31954c (patch) | |
tree | e5e3bd01ef76b0345742b12887a637ad821598e7 /fs/btrfs/locking.c | |
parent | ceph: pre-allocate ceph_cap struct for ceph_add_cap() (diff) | |
download | linux-2cd698be9a3d3a0f8f3c66814eac34144c31954c.tar.xz linux-2cd698be9a3d3a0f8f3c66814eac34144c31954c.zip |
ceph: handle cap import atomically
cap import messages are processed by both handle_cap_import() and
handle_cap_grant(). These two functions are not executed in the same
atomic context, so they can races with cap release.
The fix is make handle_cap_import() not release the i_ceph_lock when
it returns. Let handle_cap_grant() release the lock after it finishes
its job.
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Diffstat (limited to 'fs/btrfs/locking.c')
0 files changed, 0 insertions, 0 deletions