summaryrefslogtreecommitdiffstats
path: root/fs/xfs/scrub
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2023-07-17 09:00:10 -0700
committerDarrick J. Wong <djwong@kernel.org>2023-07-17 09:06:37 -0700
commit59ba4fdd2d1f9dd7af98f5168c846150c9aec56d (patch)
tree648585b7901bf0340b1ca1016f117b9db2efd6b7 /fs/xfs/scrub
parent880b9577855edddda1e732748e849c63199d489b (diff)
downloadlinux-59ba4fdd2d1f9dd7af98f5168c846150c9aec56d.tar.gz
linux-59ba4fdd2d1f9dd7af98f5168c846150c9aec56d.tar.bz2
linux-59ba4fdd2d1f9dd7af98f5168c846150c9aec56d.zip
fs: wait for partially frozen filesystems
Jan Kara suggested that when one thread is in the middle of freezing a filesystem, another thread trying to freeze the same fs but with a different freeze_holder should wait until the freezer reaches either end state (UNFROZEN or COMPLETE) instead of returning EBUSY immediately. Neither caller can do anything sensible with this race other than retry but they cannot really distinguish EBUSY as in "some other holder of the same type has the sb already frozen" from "freezing raced with holder of a different type". Plumb in the extra code needed to wait for the fs freezer to reach an end state and try the freeze again. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/xfs/scrub')
0 files changed, 0 insertions, 0 deletions