summaryrefslogtreecommitdiffstats
path: root/fs/ceph/super.h
diff options
context:
space:
mode:
authorYan, Zheng <zyan@redhat.com>2015-05-01 04:03:40 +0200
committerIlya Dryomov <idryomov@gmail.com>2015-06-25 10:49:28 +0200
commit7b06a826e7c52d77ce801e5960ecf0338eafe886 (patch)
treecb4f7bc04116a3a4d673152096bc994131304574 /fs/ceph/super.h
parentlibceph: use kvfree() instead of open-coding it (diff)
downloadlinux-7b06a826e7c52d77ce801e5960ecf0338eafe886.tar.xz
linux-7b06a826e7c52d77ce801e5960ecf0338eafe886.zip
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 18b917c7feb4..b182fd7499d9 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,