diff options
author | Yan, Zheng <zheng.z.yan@intel.com> | 2013-11-24 14:43:46 +0800 |
---|---|---|
committer | Yan, Zheng <zheng.z.yan@intel.com> | 2014-01-21 16:30:28 +0800 |
commit | 4ee6a914edbbd2543884f0ad7d58ea471136be32 (patch) | |
tree | 459a9db93b394a25317c8ab29338668a0973d57c /include/linux/ceph | |
parent | 186e4f7a4b1883f3f46aa15366c0bcebc28fdda7 (diff) | |
download | linux-stable-4ee6a914edbbd2543884f0ad7d58ea471136be32.tar.gz linux-stable-4ee6a914edbbd2543884f0ad7d58ea471136be32.tar.bz2 linux-stable-4ee6a914edbbd2543884f0ad7d58ea471136be32.zip |
ceph: remove exported caps when handling cap import message
Version 3 cap import message includes the ID of the exported
caps. It allow us to remove the exported caps if we still haven't
received the corresponding cap export message.
We remove the exported caps because they are stale, keeping them
can compromise consistence.
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Diffstat (limited to 'include/linux/ceph')
-rw-r--r-- | include/linux/ceph/ceph_fs.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/include/linux/ceph/ceph_fs.h b/include/linux/ceph/ceph_fs.h index 26bb587deb78..0a37b989b52f 100644 --- a/include/linux/ceph/ceph_fs.h +++ b/include/linux/ceph/ceph_fs.h @@ -459,7 +459,8 @@ struct ceph_mds_reply_cap { __u8 flags; /* CEPH_CAP_FLAG_* */ } __attribute__ ((packed)); -#define CEPH_CAP_FLAG_AUTH 1 /* cap is issued by auth mds */ +#define CEPH_CAP_FLAG_AUTH (1 << 0) /* cap is issued by auth mds */ +#define CEPH_CAP_FLAG_RELEASE (1 << 1) /* release the cap */ /* inode record, for bundling with mds reply */ struct ceph_mds_reply_inode { @@ -660,6 +661,14 @@ struct ceph_mds_caps { __le32 time_warp_seq; } __attribute__ ((packed)); +struct ceph_mds_cap_peer { + __le64 cap_id; + __le32 seq; + __le32 mseq; + __le32 mds; + __u8 flags; +} __attribute__ ((packed)); + /* cap release msg head */ struct ceph_mds_cap_release { __le32 num; /* number of cap_items that follow */ |