]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ceph: Hold caps_list_lock when adjusting caps_{use, total}_count
authorYan, Zheng <zheng.z.yan@intel.com>
Sat, 3 Nov 2012 02:32:37 +0000 (10:32 +0800)
committerSage Weil <sage@inktank.com>
Sun, 4 Nov 2012 11:08:24 +0000 (03:08 -0800)
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Signed-off-by: Sage Weil <sage@inktank.com>
fs/ceph/caps.c

index 3251e9cc64014fc99f7660d46388427732c88114..2d0141e95c88465e4416e88ac5b447ebcaddcbf7 100644 (file)
@@ -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;
        }