History log of /openbmc/linux/fs/xfs/scrub/repair.c (Results 326 – 333 of 333)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 6567af78 05-Jun-2018 Linus Torvalds <torvalds@linux-foundation.org>

Merge tag 'xfs-4.18-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux

Pull xfs updates from Darrick Wong:
"New features this cycle include the ability to relabel mounted
filesystems, supp

Merge tag 'xfs-4.18-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux

Pull xfs updates from Darrick Wong:
"New features this cycle include the ability to relabel mounted
filesystems, support for fallocated swapfiles, and using FUA for pure
data O_DSYNC directio writes. With this cycle we begin to integrate
online filesystem repair and refactor the growfs code in preparation
for eventual subvolume support, though the road ahead for both
features is quite long.

There are also numerous refactorings of the iomap code to remove
unnecessary log overhead, to disentangle some of the quota code, and
to prepare for buffer head removal in a future upstream kernel.

Metadata validation continues to improve, both in the hot path
veifiers and the online filesystem check code. I anticipate sending a
second pull request in a few days with more metadata validation
improvements.

This series has been run through a full xfstests run over the weekend
and through a quick xfstests run against this morning's master, with
no major failures reported.

Summary:

- Strengthen inode number and structure validation when allocating
inodes.

- Reduce pointless buffer allocations during cache miss

- Use FUA for pure data O_DSYNC directio writes

- Various iomap refactorings

- Strengthen quota metadata verification to avoid unfixable broken
quota

- Make AGFL block freeing a deferred operation to avoid blowing out
transaction reservations when running complex operations

- Get rid of the log item descriptors to reduce log overhead

- Fix various reflink bugs where inodes were double-joined to
transactions

- Don't issue discards when trimming unwritten extents

- Refactor incore dquot initialization and retrieval interfaces

- Fix some locking problmes in the quota scrub code

- Strengthen btree structure checks in scrub code

- Rewrite swapfile activation to use iomap and support unwritten
extents

- Make scrub exit to userspace sooner when corruptions or
cross-referencing problems are found

- Make scrub invoke the data fork scrubber directly on metadata
inodes

- Don't do background reclamation of post-eof and cow blocks when the
fs is suspended

- Fix secondary superblock buffer lifespan hinting

- Refactor growfs to use table-dispatched functions instead of long
stringy functions

- Move growfs code to libxfs

- Implement online fs label getting and setting

- Introduce online filesystem repair (in a very limited capacity)

- Fix unit conversion problems in the realtime freemap iteration
functions

- Various refactorings and cleanups in preparation to remove buffer
heads in a future release

- Reimplement the old bmap call with iomap

- Remove direct buffer head accesses from seek hole/data

- Various bug fixes"

* tag 'xfs-4.18-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (121 commits)
fs: use ->is_partially_uptodate in page_cache_seek_hole_data
fs: remove the buffer_unwritten check in page_seek_hole_data
fs: move page_cache_seek_hole_data to iomap.c
xfs: use iomap_bmap
iomap: add an iomap-based bmap implementation
iomap: add a iomap_sector helper
iomap: use __bio_add_page in iomap_dio_zero
iomap: move IOMAP_F_BOUNDARY to gfs2
iomap: fix the comment describing IOMAP_NOWAIT
iomap: inline data should be an iomap type, not a flag
mm: split ->readpages calls to avoid non-contiguous pages lists
mm: return an unsigned int from __do_page_cache_readahead
mm: give the 'ret' variable a better name __do_page_cache_readahead
block: add a lower-level bio_add_page interface
xfs: fix error handling in xfs_refcount_insert()
xfs: fix xfs_rtalloc_rec units
xfs: strengthen rtalloc query range checks
xfs: xfs_rtbuf_get should check the bmapi_read results
xfs: xfs_rtword_t should be unsigned, not signed
dax: change bdev_dax_supported() to support boolean returns
...

show more ...


Revision tags: v4.17
# 7e85bc6c 30-May-2018 Darrick J. Wong <darrick.wong@oracle.com>

xfs: add helpers to attach quotas to inodes

Add a helper routine to attach quota information to inodes that are
about to undergo repair. If that fails, we need to schedule a
quotacheck for the next

xfs: add helpers to attach quotas to inodes

Add a helper routine to attach quota information to inodes that are
about to undergo repair. If that fails, we need to schedule a
quotacheck for the next mount but allow the corrupted metadata repair to
continue.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>

show more ...


# 04a2b7b2 30-May-2018 Darrick J. Wong <darrick.wong@oracle.com>

xfs: recover AG btree roots from rmap data

Add a helper function to help us recover btree roots from the rmap data.
Callers pass in a list of rmap owner codes, buffer ops, and magic
numbers. We ite

xfs: recover AG btree roots from rmap data

Add a helper function to help us recover btree roots from the rmap data.
Callers pass in a list of rmap owner codes, buffer ops, and magic
numbers. We iterate the rmap records looking for owner matches, and
then read the matching blocks to see if the magic number & uuid match.
If so, we then read-verify the block, and if that passes then we retain
a pointer to the block with the highest level, assuming that by the end
of the call we will have found the root. This will be used to reset the
AGF/AGI btree root fields during their rebuild procedures.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>

show more ...


# 12c6510e 30-May-2018 Darrick J. Wong <darrick.wong@oracle.com>

xfs: add helpers to dispose of old btree blocks after a repair

Now that we've plumbed in the ability to construct a list of dead btree
blocks following a repair, add more helpers to dispose of them.

xfs: add helpers to dispose of old btree blocks after a repair

Now that we've plumbed in the ability to construct a list of dead btree
blocks following a repair, add more helpers to dispose of them. This is
done by examining the rmapbt -- if the btree was the only owner we can
free the block, otherwise it's crosslinked and we can only remove the
rmapbt record.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>

show more ...


# 64a39d87 30-May-2018 Darrick J. Wong <darrick.wong@oracle.com>

xfs: add helpers to collect and sift btree block pointers during repair

Add some helpers to assemble a list of fs block extents. Generally,
repair functions will iterate the rmapbt to make a list (

xfs: add helpers to collect and sift btree block pointers during repair

Add some helpers to assemble a list of fs block extents. Generally,
repair functions will iterate the rmapbt to make a list (1) of all
extents owned by the nominal owner of the metadata structure; then they
will iterate all other structures with the same rmap owner to make a
list (2) of active blocks; and finally we have a subtraction function to
subtract all the blocks in (2) from (1), with the result that (1) is now
a list of blocks that were owned by the old btree and must be disposed.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>

show more ...


# 73d6b42a 30-May-2018 Darrick J. Wong <darrick.wong@oracle.com>

xfs: add helpers to allocate and initialize fresh btree roots

Add a pair of helper functions to allocate and initialize fresh btree
roots. The repair functions will use these as part of recreating

xfs: add helpers to allocate and initialize fresh btree roots

Add a pair of helper functions to allocate and initialize fresh btree
roots. The repair functions will use these as part of recreating
corrupted metadata.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>

show more ...


# 0a9633fa 30-May-2018 Darrick J. Wong <darrick.wong@oracle.com>

xfs: add helpers to deal with transaction allocation and rolling

For repairs, we need to reserve at least as many blocks as we think
we're going to need to rebuild the data structure, and we're goin

xfs: add helpers to deal with transaction allocation and rolling

For repairs, we need to reserve at least as many blocks as we think
we're going to need to rebuild the data structure, and we're going to
need some helpers to roll transactions while maintaining locks on the AG
headers so that other threads cannot wander into the middle of a repair.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>

show more ...


# 84d42ea6 14-May-2018 Darrick J. Wong <darrick.wong@oracle.com>

xfs: implement the metadata repair ioctl flag

Plumb in the pieces necessary to make the "scrub" subfunction of
the scrub ioctl actually work. This means that we make the IFLAG_REPAIR
flag to the sc

xfs: implement the metadata repair ioctl flag

Plumb in the pieces necessary to make the "scrub" subfunction of
the scrub ioctl actually work. This means that we make the IFLAG_REPAIR
flag to the scrub ioctl actually do something, and we add an errortag
knob so that xfstests can force the kernel to rebuild a metadata
structure even if there's nothing wrong with it.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>

show more ...


1...<<11121314