| To: | Dave Chinner <david@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH 8/9] repair: handle remote symlink CRC errors |
| From: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
| Date: | Thu, 24 Apr 2014 23:01:19 -0700 |
| Cc: | xfs@xxxxxxxxxxx |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <1398315722-20870-9-git-send-email-david@xxxxxxxxxxxxx> |
| References: | <1398315722-20870-1-git-send-email-david@xxxxxxxxxxxxx> <1398315722-20870-9-git-send-email-david@xxxxxxxxxxxxx> |
| User-agent: | Mutt/1.5.21 (2010-09-15) |
On Thu, Apr 24, 2014 at 03:02:01PM +1000, Dave Chinner wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
>
> We can't really repair broken symlink buffer contents, but we can at
> least warn about it and correct the CRC error so the symlink is
> again readable.
> + do_warn(
> +_("Bad symlink buffer CRC, block %" PRIu64 ", inode %" PRIu64 ".\n"
> + "Correcting CRC, but symlink may be bad.\n"), fsbno, lino);
> + dirty = 1;
Can you use the badcrc variable name here like in a few other places?
> + if (dirty)
> + libxfs_writebuf(bp, 0);
> + else
> + libxfs_putbuf(bp);
This needs a no_modify check.
Hmm, given how often we have this pattern and how easy it is do get
wrong, maybe libxfs_writebuf should do the no_modify check for us can we
can get rid of all this code? Or maybe at least in a repair_writebuf
wrapper? Not saying it should go into this series of course.
|
| Previous by Date: | Re: [PATCH 6/9] repair: report AG btree verifier errors, Christoph Hellwig |
|---|---|
| Next by Date: | Re: [3.15-rc4 PATCH] xfs: fully support v5 format filesystems, Christoph Hellwig |
| Previous by Thread: | [PATCH 8/9] repair: handle remote symlink CRC errors, Dave Chinner |
| Next by Thread: | [PATCH 5/9] repair: detect CRC errors in AG headers, Dave Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |