Message ID | 20200305122105.69184-1-zyan@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | ceph: don't request caps for idle open files | expand |
On Thu, 2020-03-05 at 20:20 +0800, Yan, Zheng wrote: > This series make cephfs client not request caps for open files that > idle for a long time. For the case that one active client and multiple > standby clients open the same file, this increase the possibility that > mds issues exclusive caps to the active client. > > Yan, Zheng (7): > ceph: always renew caps if mds_wanted is insufficient > ceph: consider inode's last read/write when calculating wanted caps > ceph: remove delay check logic from ceph_check_caps() > ceph: simplify calling of ceph_get_fmode() > ceph: update i_requested_max_size only when sending cap msg to auth mds > ceph: check all mds' caps after page writeback > ceph: calculate dir's wanted caps according to recent dirops > > fs/ceph/caps.c | 360 ++++++++++++++++------------------- > fs/ceph/dir.c | 21 +- > fs/ceph/file.c | 45 ++--- > fs/ceph/inode.c | 21 +- > fs/ceph/ioctl.c | 2 + > fs/ceph/mds_client.c | 16 +- > fs/ceph/super.h | 37 ++-- > include/linux/ceph/ceph_fs.h | 1 + > 8 files changed, 243 insertions(+), 260 deletions(-) > > changes since v2 > - make __ceph_caps_file_wanted() more readable > - add patch 5 and 6, which fix hung write during testing patch 1~4 > > changes since v3 > - don't queue delayed cap check for snap inode > - initialize ci->{last_rd,last_wr} to jiffies - 3600 * HZ > - make __ceph_caps_file_wanted() check inode type > > changes since v4 > - add patch 7, improve how to calculate dir's wanted caps > Thanks Zheng. This one seems to work just fine. Merged into ceph- client/testing branch with the following changes: - squashed patch 7 into patch 2 - cleaned up a few changelog grammatical and spelling errors - fix a small bit of whitespace damage Thanks!