"XFS: Invalid block length (0x%x) given for buffer" log level
Eric Sandeen
sandeen at sandeen.net
Mon Sep 21 13:14:43 CDT 2009
Hey, commit:
commit 3228149ceb8b045e324cd268be9182bb26e6488b
Author: Dave Chinner <david at fromorbit.com>
Date: Thu Jan 22 15:37:47 2009 +1100
xfs: Check buffer lengths in log recovery
Before trying to obtain, read or write a buffer,
check that the buffer length is actually valid. If
it is not valid, then something read in the recovery
process has been corrupted and we should abort
recovery.
Reported-by: Eric Sesterhenn <snakebyte at gmx.de>
Tested-by: Eric Sesterhenn <snakebyte at gmx.de>
Reviewed-by: Christoph Hellwig <hch at infradead.org>
Reviewed-by: Felix Blyakher <felixb at sgi.com>
Signed-off-by: Dave Chinner <david at fromorbit.com>
Signed-off-by: Felix Blyakher <felixb at sgi.com>
added some XFS_ERROR_REPORTs, but at _HIGH:
+ if (nbblks <= 0 || nbblks > log->l_logBBsize) {
+ xlog_warn("XFS: Invalid block length (0x%x) given for
buffer", nbblks);
+ XFS_ERROR_REPORT("xlog_get_bp(1)",
+ XFS_ERRLEVEL_HIGH, log->l_mp);
+ return NULL;
+ }
which means unless logging is turned up HIGH (higher than default), we
won't see it. Should this be HIGH? Not sure what the original intent was.
-Eric
More information about the xfs
mailing list