From 1ba28b64e69ce3a7989df88f71a5cb608b1c71e3 Mon Sep 17 00:00:00 2001 From: Dave Chinner Date: Fri, 7 Jun 2013 10:26:06 +1000 Subject: [PATCH] xfs_repair: drop buffer reference on symlink error Failing to drop the buffer when the header is bad results in a deadlock in a later phase when we try to read the remote symlink again. Signed-off-by: Dave Chinner Reviewed-by: Ben Myers Signed-off-by: Ben Myers --- repair/dinode.c | 1 + 1 file changed, 1 insertion(+) diff --git a/repair/dinode.c b/repair/dinode.c index 1f3fd6ce0..13e5f35d5 100644 --- a/repair/dinode.c +++ b/repair/dinode.c @@ -1523,6 +1523,7 @@ _("cannot read inode %" PRIu64 ", file block %d, disk block %" PRIu64 "\n"), do_warn( _("bad symlink header ino %" PRIu64 ", file block %d, disk block %" PRIu64 "\n"), lino, i, fsbno); + libxfs_putbuf(bp); return(1); } buf_data += sizeof(struct xfs_dsymlink_hdr); -- 2.47.2