Project

General

Profile

Actions

Bug #69092

open

libcephfs client cache trimming might remove dentries attached to opened dir inode.

Added by Igor Fedotov over 1 year ago. Updated 5 months ago.

Status:
Pending Backport
Priority:
Urgent
Assignee:
Category:
Correctness/Safety
Target version:
% Done:

0%

Source:
Community (dev)
Backport:
squid, reef
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Client, libcephfs
Labels (FS):
Pull request ID:
Tags (freeform):
backport_processed
Fixed In:
v19.3.0-7481-gcb5a62fbad
Released In:
v20.2.0~1158
Upkeep Timestamp:
2025-11-01T01:01:22+00:00

Description

This e.g. mght result in broken ceph_statxat() result: one would access 'head' object information instead of snapshotted one after cache trimming even when snapshot root folder has been opened and resulting descriptor provided to ceph_statxat call.

This negatively impacts both snapdiff and cephfs-mirroring functionality when handling large directory trees. E.g. cephfs-mirroring might produce wrong target directory tree - files missing or something.


Related issues 2 (2 open0 closed)

Copied to CephFS - Backport #69905: reef: libcephfs client cache trimming might remove dentries attached to opened dir inode.In ProgressDhairya ParmarActions
Copied to CephFS - Backport #69906: squid: libcephfs client cache trimming might remove dentries attached to opened dir inode.In ProgressDhairya ParmarActions
Actions #1

Updated by Igor Fedotov over 1 year ago

https://github.com/ceph/ceph/pull/60909 reproduces the issue with a libcephfs test case.

Actions #2

Updated by Alexander Patrakov over 1 year ago

We have actually seen a few times how cephfs-mirror mirrors a few terabytes of data in a volatile directory and then erases everything and starts over. Might this be related?

Also concerning the mismirroring incidents associated with this: I think that Ceph should provide a graceful way of recovering from incorrect snapshots on the destination side that does not involve retransferring everything from scratch.

Actions #3

Updated by Igor Fedotov over 1 year ago

  • Backport set to squid, reef
Actions #4

Updated by Milind Changire over 1 year ago

  • Assignee set to Venky Shankar
Actions #5

Updated by Igor Fedotov over 1 year ago

  • Status changed from New to Fix Under Review
  • Assignee changed from Venky Shankar to Igor Fedotov
  • Pull request ID set to 60909
Actions #6

Updated by Venky Shankar about 1 year ago

  • Category set to Correctness/Safety
  • Priority changed from Normal to Urgent
  • Target version set to v20.0.0
  • Source set to Community (dev)
Actions #7

Updated by Venky Shankar about 1 year ago

  • Status changed from Fix Under Review to Pending Backport
Actions #8

Updated by Upkeep Bot about 1 year ago

  • Copied to Backport #69905: reef: libcephfs client cache trimming might remove dentries attached to opened dir inode. added
Actions #9

Updated by Upkeep Bot about 1 year ago

  • Copied to Backport #69906: squid: libcephfs client cache trimming might remove dentries attached to opened dir inode. added
Actions #10

Updated by Upkeep Bot about 1 year ago

  • Tags (freeform) set to backport_processed
Actions #11

Updated by Upkeep Bot 9 months ago

  • Merge Commit set to cb5a62fbad0201c5aedf5b43eb9bf67cc5b500c5
  • Fixed In set to v19.3.0-7481-gcb5a62fbad0
  • Upkeep Timestamp set to 2025-07-08T18:12:57+00:00
Actions #12

Updated by Upkeep Bot 8 months ago

  • Fixed In changed from v19.3.0-7481-gcb5a62fbad0 to v19.3.0-7481-gcb5a62fbad02
  • Upkeep Timestamp changed from 2025-07-08T18:12:57+00:00 to 2025-07-14T15:23:04+00:00
Actions #13

Updated by Upkeep Bot 8 months ago

  • Fixed In changed from v19.3.0-7481-gcb5a62fbad02 to v19.3.0-7481-gcb5a62fbad
  • Upkeep Timestamp changed from 2025-07-14T15:23:04+00:00 to 2025-07-14T21:08:54+00:00
Actions #14

Updated by Upkeep Bot 5 months ago

  • Released In set to v20.2.0~1158
  • Upkeep Timestamp changed from 2025-07-14T21:08:54+00:00 to 2025-11-01T01:01:22+00:00
Actions

Also available in: Atom PDF