BUG: Internal error xfs_trans_cancel at line 984 of file fs/xfs/xfs_trans.c
Eryu Guan
eguan at redhat.com
Thu Sep 1 05:39:55 CDT 2016
On Mon, Aug 29, 2016 at 06:37:54PM +0800, Eryu Guan wrote:
> Hi,
>
> I've hit an XFS internal error then filesystem shutdown with 4.8-rc3
> kernel but not with 4.8-rc2
>
[snip]
>
> So it's likely a regression introduced in 4.8-rc3, and my bisect test
> pointed to commit 0af32fb468b4 ("xfs: fix bogus space reservation in
> xfs_iomap_write_allocate").
This might be buried in the report, I've bisected this down to
commit 0af32fb468b4a4434dd759d68611763658650b59
Author: Christoph Hellwig <hch at lst.de>
Date: Wed Aug 17 08:30:28 2016 +1000
xfs: fix bogus space reservation in xfs_iomap_write_allocate
The space reservations was without an explaination in commit
"Add error reporting calls in error paths that return EFSCORRUPTED"
back in 2003. There is no reason to reserve disk blocks in the
transaction when allocating blocks for delalloc space as we already
reserved the space when creating the delalloc extent.
With this fix we stop running out of the reserved pool in
generic/229, which has happened for long time with small blocksize
file systems, and has increased in severity with the new buffered
write path.
[ dchinner: we still need to pass the block reservation into
xfs_bmapi_write() to ensure we don't deadlock during AG selection.
See commit dbd5c8c ("xfs: pass total block res. as total
xfs_bmapi_write() parameter") for more details on why this is
necessary. ]
Signed-off-by: Christoph Hellwig <hch at lst.de>
Reviewed-by: Dave Chinner <dchinner at redhat.com>
Signed-off-by: Dave Chinner <david at fromorbit.com>
Just make it more clear.
Thanks,
Eryu
More information about the xfs
mailing list