summaryrefslogtreecommitdiffstats
path: root/fs/ceph/super.h
diff options
context:
space:
mode:
authorYan, Zheng <zyan@redhat.com>2015-05-01 10:03:40 +0800
committerIlya Dryomov <idryomov@gmail.com>2015-06-25 11:49:28 +0300
commit7b06a826e7c52d77ce801e5960ecf0338eafe886 (patch)
treecb4f7bc04116a3a4d673152096bc994131304574 /fs/ceph/super.h
parentb01da6a08c523f5d1cd1a51107f8cca061040f45 (diff)
downloadop-kernel-dev-7b06a826e7c52d77ce801e5960ecf0338eafe886.zip
op-kernel-dev-7b06a826e7c52d77ce801e5960ecf0338eafe886.tar.gz
ceph: use empty snap context for uninline_data and get_pool_perm
Cached_context in ceph_snap_realm is directly accessed by uninline_data() and get_pool_perm(). This is racy in theory. both uninline_data() and get_pool_perm() do not modify existing object, they only create new object. So we can pass the empty snap context to them. Unlike cached_context in ceph_snap_realm, we do not need to protect the empty snap context. Signed-off-by: Yan, Zheng <zyan@redhat.com>
Diffstat (limited to 'fs/ceph/super.h')
-rw-r--r--fs/ceph/super.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ceph/super.h b/fs/ceph/super.h
index 18b917c..b182fd7 100644
--- a/fs/ceph/super.h
+++ b/fs/ceph/super.h
@@ -692,6 +692,7 @@ static inline int default_congestion_kb(void)
/* snap.c */
+extern struct ceph_snap_context *ceph_empty_snapc;
struct ceph_snap_realm *ceph_lookup_snap_realm(struct ceph_mds_client *mdsc,
u64 ino);
extern void ceph_get_snap_realm(struct ceph_mds_client *mdsc,
OpenPOWER on IntegriCloud