Project

General

Profile

Actions

Bug #51276

closed

mds: avoid journaling overhead for setxattr("ceph.dir.subvolume") for no-op case

Added by Patrick Donnelly almost 3 years ago. Updated over 1 year ago.

Status:
Resolved
Priority:
Urgent
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.


Related issues 3 (0 open3 closed)

Copied to CephFS - Backport #51335: pacific: mds: avoid journaling overhead for setxattr("ceph.dir.subvolume") for no-op caseResolvedPatrick DonnellyActions
Copied to CephFS - Backport #51336: octopus: mds: avoid journaling overhead for setxattr("ceph.dir.subvolume") for no-op caseResolvedPatrick DonnellyActions
Copied to CephFS - Backport #51337: nautilus: mds: avoid journaling overhead for setxattr("ceph.dir.subvolume") for no-op caseRejectedPatrick DonnellyActions
Actions #1

Updated by Patrick Donnelly almost 3 years ago

  • Status changed from In Progress to Fix Under Review
  • Pull request ID set to 41935
Actions #2

Updated by Patrick Donnelly almost 3 years ago

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

Updated by Patrick Donnelly almost 3 years ago

  • Priority changed from Normal to Urgent
Actions #4

Updated by Backport Bot almost 3 years ago

  • Copied to Backport #51335: pacific: mds: avoid journaling overhead for setxattr("ceph.dir.subvolume") for no-op case added
Actions #5

Updated by Backport Bot almost 3 years ago

  • Copied to Backport #51336: octopus: mds: avoid journaling overhead for setxattr("ceph.dir.subvolume") for no-op case added
Actions #6

Updated by Backport Bot almost 3 years ago

  • Copied to Backport #51337: nautilus: mds: avoid journaling overhead for setxattr("ceph.dir.subvolume") for no-op case added
Actions #7

Updated by Backport Bot over 1 year ago

  • Tags set to backport_processed
Actions #8

Updated by Konstantin Shalygin over 1 year ago

  • Tracker changed from Fix to Bug
  • Status changed from Pending Backport to Resolved
  • Regression set to No
  • Severity set to 3 - minor
Actions

Also available in: Atom PDF