diff options
author | Yan, Zheng <zyan@redhat.com> | 2015-05-01 04:03:40 +0200 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2015-06-25 10:49:28 +0200 |
commit | 7b06a826e7c52d77ce801e5960ecf0338eafe886 (patch) | |
tree | cb4f7bc04116a3a4d673152096bc994131304574 /fs/ceph/super.h | |
parent | libceph: use kvfree() instead of open-coding it (diff) | |
download | linux-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.h | 1 |
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, |