Actions
Bug #51276
closedmds: avoid journaling overhead for setxattr("ceph.dir.subvolume") for no-op case
Status:
Resolved
Priority:
Urgent
Assignee:
Category:
Performance/Resource Usage
Target version:
% Done:
0%
Source:
Development
Tags:
backport_processed
Backport:
pacific,octopus,nautilus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
In preparation for acquiring the xlock on the directory inode, the MDS must journal a few events before continuing on with the setvxattr. This can cause significant delays in the volumes ceph-mgr module which needs to regularly enable this vxattr from multiple code paths. We could cache in that module whether the vxattr is set but it's also pretty easy to adjust the MDS to acquire a rdlock on the directory to check if the subvolume flag is already set. That is much lighter weight and the lock is generally readily available.
Actions