diff options
author | Yan, Zheng <zyan@redhat.com> | 2015-06-09 09:20:12 (GMT) |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2015-06-25 08:49:31 (GMT) |
commit | 8310b08913eca8aee98744c9aff1ec0d1f603b19 (patch) | |
tree | ac58f8ea0c44c98a675242c1a2a338f6333f03ba /fs/ceph/super.h | |
parent | 553adfd941f8ca622965ef809553d918ea039929 (diff) | |
download | linux-8310b08913eca8aee98744c9aff1ec0d1f603b19.tar.xz |
ceph: track pending caps flushing globally
So we know TID of the oldest pending caps flushing. Later patch will
send this information to MDS, so that MDS can trim its completed caps
flush list.
Tracking pending caps flushing globally also simplifies syncfs code.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Diffstat (limited to 'fs/ceph/super.h')
-rw-r--r-- | fs/ceph/super.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/super.h b/fs/ceph/super.h index cc597f5..94d9147 100644 --- a/fs/ceph/super.h +++ b/fs/ceph/super.h @@ -189,6 +189,7 @@ static inline void ceph_put_cap_snap(struct ceph_cap_snap *capsnap) struct ceph_cap_flush { u64 tid; int caps; + struct rb_node g_node; union { struct rb_node i_node; struct list_head list; @@ -304,7 +305,6 @@ struct ceph_inode_info { struct ceph_cap *i_auth_cap; /* authoritative cap, if any */ unsigned i_dirty_caps, i_flushing_caps; /* mask of dirtied fields */ struct list_head i_dirty_item, i_flushing_item; - u64 i_cap_flush_seq; /* we need to track cap writeback on a per-cap-bit basis, to allow * overlapping, pipelined cap flushes to the mds. we can probably * reduce the tid to 8 bits if we're concerned about inode size. */ |