]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commit
repair: parallelise phase 7
authorDave Chinner <dchinner@redhat.com>
Tue, 9 Feb 2016 00:12:08 +0000 (11:12 +1100)
committerDave Chinner <david@fromorbit.com>
Tue, 9 Feb 2016 00:12:08 +0000 (11:12 +1100)
commite161d4a895adccdf11eea65eb62f8d998eb1860e
treeada4379226e950d4643961b5c6f46f08ecdbb3a6
parentc1c3d92192bd0daa64cce4ae944321716b31ba38
repair: parallelise phase 7

It operates on a single AG at a time, sequentially, doing inode updates. All the
data structures accessed and modified are per AG, as are the modification to
on-disk structures. Hence we can run this phase concurrently across multiple
AGs.

This is important for large, broken filesystem repairs, where there can be
millions of inodes that need link counts updated. Once such repair image takes
more than 45 minutes to run phase 7 as a single threaded operation.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
repair/phase7.c
repair/progress.c
repair/protos.h
repair/xfs_repair.c