diff options
author | Yan, Zheng <zheng.z.yan@intel.com> | 2012-11-03 10:32:37 +0800 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2012-11-04 03:08:24 -0800 |
commit | 4d1d0534f53863108fdea496288cb3310f88118d (patch) | |
tree | 121d1743f106900abb416d73c0bdc4c28bc94dcc /fs/ceph/caps.c | |
parent | 9e15b77d9af3b63dfbff14e695336dfca88c22b2 (diff) |
ceph: Hold caps_list_lock when adjusting caps_{use, total}_count
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Signed-off-by: Sage Weil <sage@inktank.com>
Diffstat (limited to 'fs/ceph/caps.c')
-rw-r--r-- | fs/ceph/caps.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index 3251e9cc640..2d0141e95c8 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c @@ -236,8 +236,10 @@ static struct ceph_cap *get_cap(struct ceph_mds_client *mdsc, if (!ctx) { cap = kmem_cache_alloc(ceph_cap_cachep, GFP_NOFS); if (cap) { + spin_lock(&mdsc->caps_list_lock); mdsc->caps_use_count++; mdsc->caps_total_count++; + spin_unlock(&mdsc->caps_list_lock); } return cap; } |