Feature #20196
openmds: early reintegration of strays on hardlink deletion
0%
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.
Updated by Zheng Yan almost 7 years ago
RP for the incomplete solution https://github.com/ceph/ceph/pull/15548
Updated by John Spray almost 7 years ago
Zheng's patch for the special case (both links in cache at time of primary unlink) is merged for luminous -- hopefully that cuts down significantly on the reproducibility of the underlying issue.
Updated by Patrick Donnelly about 5 years ago
- Has duplicate Feature #38849: mds: proactively merge orphaned inodes into a remaining parent after deleting primary hard link added
Updated by Patrick Donnelly about 5 years ago
- Subject changed from Early reintegration of strays on hardlink deletion to mds: early reintegration of strays on hardlink deletion
- Priority changed from Normal to High
- Target version set to v15.0.0
- Start date deleted (
06/06/2017) - Source set to Development
- Backport set to nautilus
Updated by Patrick Donnelly almost 5 years ago
- Target version deleted (
v15.0.0) - Backport deleted (
nautilus)
Updated by Zheng Yan almost 4 years ago
we can more files in strays now, https://github.com/ceph/ceph/pull/33479
Updated by huanwen ren almost 4 years ago
Zheng Yan wrote:
we can more files in strays now, https://github.com/ceph/ceph/pull/33479
Hi zheng
I anti-join this function, must stray have to actively touch handlink to release
A lot of stray will cause the directory ls to be very slow