Project

General

Profile

Bug #54501

libcephfs: client needs to update the mtime and change attr when snaps are created and deleted

Added by Ramana Raja 9 months ago. Updated 2 months ago.

Status:
Fix Under Review
Priority:
High
Assignee:
Category:
Correctness/Safety
Target version:
% Done:

0%

Source:
Community (dev)
Tags:
Backport:
quincy, pacific
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
libcephfs
Labels (FS):
Manila, NFS-cluster, snapshots
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

This issue was identified by Jeff here, https://bugzilla.redhat.com/show_bug.cgi?id=1975689#c21

The libcephfs client doesn't update mtime and change attribute when snaps are create or deleted. This results in NFS clients not being able to list CephFS snapshots within a CephFS NFS-Ganesha export correctly.
See explanation here, https://bugzilla.redhat.com/show_bug.cgi?id=1975689#c21

History

#1 Updated by Xiubo Li 9 months ago

  • Assignee set to Xiubo Li

#2 Updated by Xiubo Li 9 months ago

  • Assignee deleted (Xiubo Li)

#3 Updated by Venky Shankar 9 months ago

  • Category set to Correctness/Safety
  • Assignee set to Nikhilkumar Shelke
  • Target version set to v18.0.0
  • Source set to Community (dev)
  • Backport set to quincy, pacific

Nikhil,

Please take this (Xiubo is be a bit tied up with some other work).

Cheers,
Venky

#4 Updated by Venky Shankar 3 months ago

  • Assignee changed from Nikhilkumar Shelke to Dhairya Parmar

Dhairya, PTAL.

#5 Updated by Venky Shankar 2 months ago

  • Assignee changed from Dhairya Parmar to Venky Shankar

#6 Updated by Venky Shankar 2 months ago

Assigning this to myself since I'm looking into related issues.

#7 Updated by Venky Shankar 2 months ago

Ramana, nfs-ganesh is servicing stale readdir data by checking mtime/change_attr of .snap I presume or for its parent (i.e., "foo" dir for foo/.snap)?

#8 Updated by Venky Shankar 2 months ago

Ramana, never mind. I see its for .snap directory rather that its parent. The thing is, attrs for .snap are initialized from its parent and never change (until the inode is trimmed and the snap directory is accessed again).

PR https://github.com/ceph/ceph/pull/48086 improves this behavior by updating attrs (including POSIX ACLs) for .snap directory when its parent directory attrs change. However, that is not enough to fix this issue.

#9 Updated by Venky Shankar 2 months ago

  • Status changed from New to Fix Under Review
  • Pull request ID set to 48382

Also available in: Atom PDF