[PATCH 0/5] ceph: fix performance regression due to ceph_d_revalidate fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Zheng mentioned that he had gotten a report that testing with vdbench on
a v4.8 kernel showed a large increase in the number of GETATTR calls
being made. Since we had changed the d_revalidate code to use a GETATTR
call and not set r_locked_dir in the request, the dentry lease wasn't
getting updated from the traces, even when the MDS had granted one.

This set does a bit of cleanup and bugfixing in ceph_fill_trace, and
sets it up to update the dentry lease even when r_locked_dir isn't set
in the request.

I was able to reproduce this by hand, and this seems to fix the issue.

Jeff Layton (5):
  ceph: don't update_dentry_lease unless we actually got one
  ceph: vet the parent inode before updating dentry lease
  ceph: clean up r_aborted handling in ceph_fill_trace
  ceph: call update_dentry_lease even when r_locked dir is not set
  ceph: do a LOOKUP in d_revalidate instead of GETATTR

 fs/ceph/dir.c   |  4 ++--
 fs/ceph/inode.c | 51 ++++++++++++++++++++++++++++++++++-----------------
 2 files changed, 36 insertions(+), 19 deletions(-)

-- 
2.9.3

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux