]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: batch backtrace updates by pool-id when expiring a log segment
authorVenky Shankar <vshankar@redhat.com>
Fri, 2 Feb 2024 04:50:47 +0000 (23:50 -0500)
committerVenky Shankar <vshankar@redhat.com>
Mon, 11 Nov 2024 08:05:54 +0000 (13:35 +0530)
commit94c8d024f853cf779508cea21070a7d339d21004
tree503429462fad655558cd5fa06475dbe9e0125d4d
parentb604b833f6486e5eb7d7b11e71aa713860f6a6c6
mds: batch backtrace updates by pool-id when expiring a log segment

LogSegment::try_to_expire() batches backtrace updations for inodes in
dirty_parent_inodes list. If a backtrace update operations fails for
one inode due to missing (removed) data pool, which is specially
handled by treating the operation as a success, however, the errno
(-ENOENT) is stored by the gather context and passed on as the return
value to subsequent operations (even for successful backtrace update
operations in the same gather context).

Fixes: http://tracker.ceph.com/issues/63259
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit d1d3a8c7c80534cba26d1daf2f60f4c7f03c8339)
src/mds/CInode.cc
src/mds/CInode.h
src/mds/journal.cc