From: Darrick J. Wong Date: Wed, 23 May 2018 21:30:48 +0000 (-0500) Subject: xfs_repair: zap corrupt remote symlink X-Git-Tag: v4.17.0-rc1~39 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d2be29d4df5560d5f179a930a403f2a459178afb;p=thirdparty%2Fxfsprogs-dev.git xfs_repair: zap corrupt remote symlink If a remote symlink has a corrupted remote block, just zap the symlink. Fixes total lack of repair activity in xfs/382. Signed-off-by: Darrick J. Wong Reviewed-by: Eric Sandeen Signed-off-by: Eric Sandeen --- diff --git a/repair/dinode.c b/repair/dinode.c index 9af4f058a..45d8078f7 100644 --- a/repair/dinode.c +++ b/repair/dinode.c @@ -1330,6 +1330,13 @@ _("cannot read inode %" PRIu64 ", file block %d, disk block %" PRIu64 "\n"), lino, i, fsbno); return 1; } + if (bp->b_error == -EFSCORRUPTED) { + do_warn( +_("Corrupt symlink remote block %" PRIu64 ", inode %" PRIu64 ".\n"), + fsbno, lino); + libxfs_putbuf(bp); + return 1; + } if (bp->b_error == -EFSBADCRC) { do_warn( _("Bad symlink buffer CRC, block %" PRIu64 ", inode %" PRIu64 ".\n"