Thanks to Utako Kuzaka <utako@tnes.nec.co.jp> for this.
- Fix up xfs_repair aborting if it finds an inode with an invalid
inode type.
+ - Fix up default realtime extent size for large block sizes.
xfsprogs-2.8.16 (30 October 2006)
- Fix up an endian problem for nlink setting in phase 7 for xfs_repair.
/* Min and max rt extent sizes, specified in bytes */
#define XFS_MAX_RTEXTSIZE (1024 * 1024 * 1024) /* 1GB */
-#define XFS_DFL_RTEXTSIZE (4 * 1024) /* 4KB */
#define XFS_MIN_RTEXTSIZE (4 * 1024) /* 4KB */
/*
liflag = laflag = lsflag = ldflag = lvflag = 0;
loginternal = 1;
logversion = 1;
- logagno = logblocks = rtblocks = 0;
+ logagno = logblocks = rtblocks = rtextblocks = 0;
Nflag = nlflag = nsflag = nvflag = 0;
dirblocklog = dirblocksize = dirversion = 0;
qflag = 0;
if (XFS_MIN_RTEXTSIZE <= rtextbytes &&
(rtextbytes <= XFS_MAX_RTEXTSIZE)) {
rtextblocks = rswidth;
- } else {
- rtextblocks = XFS_DFL_RTEXTSIZE >> blocklog;
- }
- } else
- rtextblocks = XFS_DFL_RTEXTSIZE >> blocklog;
+ }
+ }
+ if (!rtextblocks) {
+ rtextblocks = (blocksize < XFS_MIN_RTEXTSIZE) ?
+ XFS_MIN_RTEXTSIZE >> blocklog : 1;
+ }
}
+ ASSERT(rtextblocks);
/*
* Check some argument sizes against mins, maxes.