Project

General

Profile

Actions

Feature #20196

open

mds: early reintegration of strays on hardlink deletion

Added by John Spray almost 7 years ago. Updated almost 4 years ago.

Status:
New
Priority:
High
Assignee:
-
Category:
Correctness/Safety
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
Component(FS):
MDS
Labels (FS):
Pull request ID:

Description

The same symptom as http://tracker.ceph.com/issues/11950

If someone creates a large number of files (1M+), hardlinks them elsewhere, and then unlinks the primary dentries, we can end up ENOSPCing due to full stray directories.

Currently we only avoid this if the remote dentries get touched at some stage, triggering reintegration.

The quick and dirty incomplete solution is to do early reintegration in the case where the remote dentries are already in the cache, this is quite possible in the situation where the (backup) workload has just created the remote dentries before removing the primary.

One option for a complete solution is to store the remote dentry paths in the inode's backtrace, so that we can look them up and reintegrate at any time.


Related issues 1 (0 open1 closed)

Has duplicate CephFS - Feature #38849: mds: proactively merge orphaned inodes into a remaining parent after deleting primary hard linkDuplicate

Actions
Actions

Also available in: Atom PDF