From: Nathan Scott Date: Mon, 12 May 2003 06:49:35 +0000 (+0000) Subject: Fix a bug in mkfs - creating version 2 logs, an incorrect stripe unit value X-Git-Tag: XFS-1_3_0pre1~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3168bd4e319bfe65fd3f2fc5cefbf81a9d58612c;p=thirdparty%2Fxfsprogs-dev.git Fix a bug in mkfs - creating version 2 logs, an incorrect stripe unit value was being passed to libxfs_clear_log. All recent versions of xfs_repair will fix this, however, because xfs_repair uses the correct stripe unit value. --- diff --git a/VERSION b/VERSION index 707356708..d8cc09c5c 100644 --- a/VERSION +++ b/VERSION @@ -3,5 +3,5 @@ # PKG_MAJOR=2 PKG_MINOR=4 -PKG_REVISION=9 +PKG_REVISION=10 PKG_BUILD=0 diff --git a/debian/changelog b/debian/changelog index 1f1b26491..381d3df4f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,14 @@ +xfsprogs (2.4.10-1) unstable; urgency=low + + * New upstream release + + -- Nathan Scott Mon, 12 May 2003 16:16:49 +1000 + xfsprogs (2.4.9-1) unstable; urgency=low * New upstream release - -- Nathan Scott Fri, 02 May 2003 09:34:17 +1000 + -- Nathan Scott Fri, 2 May 2003 09:34:17 +1000 xfsprogs (2.4.4-1) unstable; urgency=low diff --git a/doc/CHANGES b/doc/CHANGES index 828098e76..763c85015 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -1,4 +1,8 @@ -[cvs] +xfsprogs-2.4.10 (12 May 2003) + - Fix a bug in mkfs - creating version 2 logs, an incorrect + stripe unit value was being passed to libxfs_clear_log. + All recent versions of xfs_repair will fix this, however, + because xfs_repair uses the correct stripe unit value. - Fix a bug in xfs_logprint, when dumping a corrupt log. - FreeBSD updates from Alexander Kabaev. diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c index eb06eded5..258e51b18 100644 --- a/libxfs/rdwr.c +++ b/libxfs/rdwr.c @@ -105,7 +105,7 @@ libxfs_log_clear( len = 1; buf = libxfs_getbuf(device, start, len); if (!buf) - return -1; + return -1; memset(XFS_BUF_PTR(buf), 0, BBSIZE * len); head = (xlog_rec_header_t *)XFS_BUF_PTR(buf); @@ -147,11 +147,11 @@ libxfs_log_clear( } if (libxfs_writebuf(buf, 0)) - return -1; + return -1; buf = libxfs_getbuf(device, start + 1, 1); if (!buf) - return -1; + return -1; /* now a log unmount op */ memset(XFS_BUF_PTR(buf), 0, BBSIZE); @@ -169,7 +169,7 @@ libxfs_log_clear( sizeof(magic)); if (libxfs_writebuf(buf, 0)) - return -1; + return -1; return 0; } diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index 3bdf1d728..1e02afd19 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -1849,9 +1849,10 @@ _("log stripe unit (%d bytes) is too large for kernel to handle (max 256k)\n"), sbp->sb_width = dswidth; if (dirversion == 2) sbp->sb_dirblklog = dirblocklog - blocklog; - if (logversion == 2) /* This is stored in bytes */ - sbp->sb_logsunit = (lsunit == 0) ? 1 : XFS_FSB_TO_B(mp, lsunit); - else + if (logversion == 2) { /* This is stored in bytes */ + lsunit = (lsunit == 0) ? 1 : XFS_FSB_TO_B(mp, lsunit); + sbp->sb_logsunit = lsunit; + } else sbp->sb_logsunit = 0; if (iaflag) { sbp->sb_inoalignmt = XFS_INODE_BIG_CLUSTER_SIZE >> blocklog;