To: sgi.bugs.xfs@engr.sgi.com Cc: xfs@oss.sgi.com Subject: TAKE 970978 - Fix a couple mkfs.xfs issues Date: Tue, 25 Sep 2007 13:52:54 +1000 (EST) From: bnaujok@sgi.com (Barry Naujok) Fix wiping old AG headers and purge whack buffers Date: Tue Sep 25 13:52:20 AEST 2007 Workarea: chook.melbourne.sgi.com:/home/bnaujok/isms/xfs-cmds Inspected by: sandeen@sandeen.net The following file(s) were checked into: longdrop.melbourne.sgi.com:/isms/xfs-cmds/master-melb Modid: master-melb:xfs-cmds:29767a xfsprogs/mkfs/xfs_mkfs.c - 1.82 - changed http://oss.sgi.com/cgi-bin/cvsweb.cgi/xfs-cmds/xfsprogs/mkfs/xfs_mkfs.c.diff?r1=text&tr1=1.82&r2=text&tr2=1.81&f=h - Fix wiping old AG headers and purge whack buffers --- xfsprogs/mkfs/xfs_mkfs.c 2007/07/16 03:56:15 1.81 +++ xfsprogs/mkfs/xfs_mkfs.c 2007/09/25 06:15:37 1.82 @@ -558,15 +558,12 @@ zero_old_xfs_structures( goto done; /* - * block size and basic geometry seems alright, zero the secondaries, - * but don't go beyond the end of the new filesystem. + * block size and basic geometry seems alright, zero the secondaries. */ bzero(buf, new_sb->sb_sectsize); off = 0; for (i = 1; i < sb.sb_agcount; i++) { off += sb.sb_agblocks; - if (off >= new_sb->sb_dblocks) - break; if (pwrite64(xi->dfd, buf, new_sb->sb_sectsize, off << sb.sb_blocklog) == -1) break; @@ -2115,6 +2112,7 @@ an AG size that is one stripe unit small BTOBB(WHACK_SIZE)); bzero(XFS_BUF_PTR(buf), WHACK_SIZE); libxfs_writebuf(buf, LIBXFS_EXIT_ON_FAILURE); + libxfs_purgebuf(buf); } /*