diff options
author | Mike Frysinger <vapier@gentoo.org> | 2004-11-12 02:44:31 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2004-11-12 02:44:31 +0000 |
commit | 71ab880bfc8c280966b481e77c4d8c15997c650f (patch) | |
tree | a28f49e33b4a835b70e137182fdfa8a724b768d4 /sys-fs/e2fsprogs | |
parent | Stable on sparc (diff) | |
download | historical-71ab880bfc8c280966b481e77c4d8c15997c650f.tar.gz historical-71ab880bfc8c280966b481e77c4d8c15997c650f.tar.bz2 historical-71ab880bfc8c280966b481e77c4d8c15997c650f.zip |
old
Diffstat (limited to 'sys-fs/e2fsprogs')
-rw-r--r-- | sys-fs/e2fsprogs/Manifest | 21 | ||||
-rw-r--r-- | sys-fs/e2fsprogs/e2fsprogs-1.32-r2.ebuild | 105 | ||||
-rw-r--r-- | sys-fs/e2fsprogs/e2fsprogs-1.33.ebuild | 110 | ||||
-rw-r--r-- | sys-fs/e2fsprogs/files/digest-e2fsprogs-1.32-r2 | 1 | ||||
-rw-r--r-- | sys-fs/e2fsprogs/files/digest-e2fsprogs-1.33 | 1 | ||||
-rw-r--r-- | sys-fs/e2fsprogs/files/e2fsprogs-1.27ea-0.8.21.diff | 427 |
6 files changed, 8 insertions, 657 deletions
diff --git a/sys-fs/e2fsprogs/Manifest b/sys-fs/e2fsprogs/Manifest index a95ada624217..870c113e100f 100644 --- a/sys-fs/e2fsprogs/Manifest +++ b/sys-fs/e2fsprogs/Manifest @@ -1,21 +1,16 @@ -MD5 7295f3452399877281fc761d36c48eba e2fsprogs-1.32-r2.ebuild 2276 -MD5 5854a4ebf286618336853006fb70fa44 e2fsprogs-1.33.ebuild 2471 -MD5 2edb0d073060c192284a71d32d02adcc e2fsprogs-1.34-r1.ebuild 2884 +MD5 eb5e304aadc8e6dc037b6b87510b1a3f ChangeLog 8674 MD5 11f6d7ba53227f4104cf0c76fc29d554 e2fsprogs-1.34.ebuild 2768 -MD5 aa948c065bfdd5397dd1e4edf8d4cf9d e2fsprogs-1.35-r1.ebuild 3080 -MD5 2ee511ac5e5941604b071c9a3ff3c916 e2fsprogs-1.35.ebuild 2794 MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164 -MD5 eb5e304aadc8e6dc037b6b87510b1a3f ChangeLog 8674 +MD5 2edb0d073060c192284a71d32d02adcc e2fsprogs-1.34-r1.ebuild 2884 +MD5 2ee511ac5e5941604b071c9a3ff3c916 e2fsprogs-1.35.ebuild 2794 +MD5 aa948c065bfdd5397dd1e4edf8d4cf9d e2fsprogs-1.35-r1.ebuild 3080 MD5 83fead0fbd1ea1c0ec216479b3577af9 e2fsprogs-1.35-r2.ebuild 3170 -MD5 db361eb5cdf39ddae07e9f794d308b42 files/digest-e2fsprogs-1.32-r2 67 -MD5 3307c0c209b26bf447ff2840b7118862 files/digest-e2fsprogs-1.33 67 MD5 9c39bba6702e492a7a01624ae60587bc files/digest-e2fsprogs-1.34 67 -MD5 9c39bba6702e492a7a01624ae60587bc files/digest-e2fsprogs-1.34-r1 67 -MD5 3d9735f2397680a4978124f6805219ae files/digest-e2fsprogs-1.35 67 -MD5 3d9735f2397680a4978124f6805219ae files/digest-e2fsprogs-1.35-r1 67 -MD5 0b77829b4c6500ac9722143384ddda95 files/e2fsprogs-1.27ea-0.8.21.diff 15214 MD5 1a896f2697b055d4b8b4139c3482ac9e files/e2fsprogs-1.32-mk_cmds-cosmetic.patch 316 MD5 d9d69b54c577273521f4b8c2013a7a09 files/e2fsprogs-1.34-kernel-2.6-fix.patch 934 -MD5 b3b97c7ba36458e2842891e96e1ce0de files/e2fsprogs-1.34-swap-symlink.diff 1091 MD5 f079047f6885f762f6fa838b55236cb2 files/e2fsprogs-sed-locale.patch 5989 +MD5 9c39bba6702e492a7a01624ae60587bc files/digest-e2fsprogs-1.34-r1 67 +MD5 b3b97c7ba36458e2842891e96e1ce0de files/e2fsprogs-1.34-swap-symlink.diff 1091 +MD5 3d9735f2397680a4978124f6805219ae files/digest-e2fsprogs-1.35 67 +MD5 3d9735f2397680a4978124f6805219ae files/digest-e2fsprogs-1.35-r1 67 MD5 3d9735f2397680a4978124f6805219ae files/digest-e2fsprogs-1.35-r2 67 diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.32-r2.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.32-r2.ebuild deleted file mode 100644 index 05b2ad2abb1d..000000000000 --- a/sys-fs/e2fsprogs/e2fsprogs-1.32-r2.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/e2fsprogs/e2fsprogs-1.32-r2.ebuild,v 1.6 2004/06/30 17:08:25 vapier Exp $ - -inherit eutils - -DESCRIPTION="Standard EXT2 and EXT3 filesystem utilities" -HOMEPAGE="http://e2fsprogs.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="x86 ppc sparc mips alpha hppa amd64" -IUSE="nls" - -#debianutils is for 'readlink' -DEPEND="${DEPEND} - virtual/libc - nls? ( sys-devel/gettext ) - sys-apps/debianutils - sys-apps/texinfo" -RDEPEND="virtual/libc" - -src_unpack() { - unpack ${A} - # Fix a cosmetic error in mk_cmds's help output. - cd ${S}; epatch ${FILESDIR}/${P}-mk_cmds-cosmetic.patch -} - -src_compile() { - econf \ - --enable-dynamic-e2fsck \ - --enable-elf-shlibs \ - `use_enable nls` \ - || die - - # Parallel make sometimes fails - emake -j1 || die -} - -src_install() { - einstall libdir=zapme || die - #evil e2fsprogs makefile -- I'll get you! - rm -rf ${D}/zapme - - make DESTDIR=${D} install-libs || die - - if use nls; then - make -C po DESTDIR=${D} install || die - fi - - dodoc ChangeLog README RELEASE-NOTES SHLIBS - docinto e2fsck - dodoc e2fsck/ChangeLog e2fsck/CHANGES - - dodir /lib /bin /sbin - cd ${D}/usr/lib - mv * ../../lib - cd ${D}/lib - mv *.a ../usr/lib - local mylib="" - local x="" - #install ldscripts to fix bug #4411 - cd ${D}/usr/lib - for x in *.a - do - [ ! -f ${x} ] && continue - gen_usr_ldscript ${x/a}so - done - #normalize evil symlinks - cd ${D}/lib - for x in * - do - [ ! -L ${x} ] && continue - mylib="`readlink ${x}`" - mylib="`basename ${mylib}`" - ln -sf ${mylib} ${x} - done - - mv ${D}/usr/sbin/* ${D}/sbin - cd ${D}/usr/bin - mv lsattr chattr uuidgen ../../bin - cd ${D}/sbin - mv mklost+found ../usr/sbin - #time to convert hard links/duplicates to symbolic links - cd ${D}/sbin - rm fsck.* - ln -sf e2fsck fsck.ext2 - ln -sf e2fsck fsck.ext3 - rm mkfs.* - ln -sf mke2fs mkfs.ext2 - ln -sf mke2fs mkfs.ext3 - - # 03 Aug 2002 <raker@gentoo.org> - # There are awk files that don't get installed when doing - # a 'make install'. They are the template files for - # /bin/compile_et. - - cd ${S}/lib/et - insinto /usr/share/et - doins et_c.awk et_h.awk - cd ${S}/lib/ss - insinto /usr/share/ss - doins ct_c.awk -} diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.33.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.33.ebuild deleted file mode 100644 index 876d8b16b2d7..000000000000 --- a/sys-fs/e2fsprogs/e2fsprogs-1.33.ebuild +++ /dev/null @@ -1,110 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/e2fsprogs/e2fsprogs-1.33.ebuild,v 1.8 2004/06/30 17:08:25 vapier Exp $ - -inherit eutils - -DESCRIPTION="Standard EXT2 and EXT3 filesystem utilities" -HOMEPAGE="http://e2fsprogs.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="x86 ppc hppa amd64" -IUSE="nls static" - -#debianutils is for 'readlink' -DEPEND="${DEPEND} - virtual/libc - nls? ( sys-devel/gettext ) - sys-apps/debianutils - sys-apps/texinfo" -RDEPEND="virtual/libc" - -src_unpack() { - unpack ${A} - # Fix a cosmetic error in mk_cmds's help output. - cd ${S}; epatch ${FILESDIR}/e2fsprogs-1.32-mk_cmds-cosmetic.patch -} - -src_compile() { - - local myconf - use static \ - && myconf="${myconf} --with-ldopts=-static" \ - || myconf="${myconf} --enable-dynamic-e2fsck --enable-elf-shlibs" - - econf \ - `use_enable nls` \ - ${myconf} || die - - # Parallel make sometimes fails - emake -j1 || die -} - -src_install() { - einstall libdir=zapme || die - #evil e2fsprogs makefile -- I'll get you! - rm -rf ${D}/zapme - - make DESTDIR=${D} install-libs || die - - #There is .po file b0rkage with 1.33; commenting this out (drobbins, 21 Apr 2003) - #if use nls; then - # make -C po DESTDIR=${D} install || die - #fi - - dodoc COPYING ChangeLog README RELEASE-NOTES SHLIBS - docinto e2fsck - dodoc e2fsck/ChangeLog e2fsck/CHANGES - - dodir /lib /bin /sbin - cd ${D}/usr/lib - mv * ../../lib - cd ${D}/lib - mv *.a ../usr/lib - local mylib="" - local x="" - #install ldscripts to fix bug #4411 - cd ${D}/usr/lib - for x in *.a - do - [ ! -f ${x} ] && continue - gen_usr_ldscript ${x/a}so - done - #normalize evil symlinks - cd ${D}/lib - for x in * - do - [ ! -L ${x} ] && continue - mylib="`readlink ${x}`" - mylib="`basename ${mylib}`" - ln -sf ${mylib} ${x} - done - - mv ${D}/usr/sbin/* ${D}/sbin - cd ${D}/usr/bin - mv lsattr chattr uuidgen ../../bin - cd ${D}/sbin - mv mklost+found ../usr/sbin - #time to convert hard links/duplicates to symbolic links - cd ${D}/sbin - rm fsck.* - ln -sf e2fsck fsck.ext2 - ln -sf e2fsck fsck.ext3 - rm mkfs.* - ln -sf mke2fs mkfs.ext2 - ln -sf mke2fs mkfs.ext3 - - # 03 Aug 2002 <raker@gentoo.org> - # There are awk files that don't get installed when doing - # a 'make install'. They are the template files for - # /bin/compile_et. - - cd ${S}/lib/et - insinto /usr/share/et - doins et_c.awk et_h.awk - cd ${S}/lib/ss - insinto /usr/share/ss - doins ct_c.awk -} diff --git a/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.32-r2 b/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.32-r2 deleted file mode 100644 index 36577bde405a..000000000000 --- a/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.32-r2 +++ /dev/null @@ -1 +0,0 @@ -MD5 a7ced9d6edaba3a000ccc5200e09b90d e2fsprogs-1.32.tar.gz 2894603 diff --git a/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.33 b/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.33 deleted file mode 100644 index 57abbd3ba2f6..000000000000 --- a/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.33 +++ /dev/null @@ -1 +0,0 @@ -MD5 8d922086299ae9794b008256bde6188f e2fsprogs-1.33.tar.gz 2959524 diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.27ea-0.8.21.diff b/sys-fs/e2fsprogs/files/e2fsprogs-1.27ea-0.8.21.diff deleted file mode 100644 index c204210abb29..000000000000 --- a/sys-fs/e2fsprogs/files/e2fsprogs-1.27ea-0.8.21.diff +++ /dev/null @@ -1,427 +0,0 @@ -Extended Attributes patch to the e2fsprogs package -14 March 2002, 20:03:41 - -After extracting the e2fsprogs-1.27.tar.gz package, apply this patch as follows: - - cd e2fsprogs-1.27 - patch -p1 < ../e2fsprogs-1.27-ea-0.8.21.patch - -diff -Nur e2fsprogs-1.27/debugfs/icheck.c e2fsprogs-1.27ea/debugfs/icheck.c ---- e2fsprogs-1.27/debugfs/icheck.c Sun Feb 24 22:03:58 2002 -+++ e2fsprogs-1.27ea/debugfs/icheck.c Thu Mar 14 07:26:40 2002 -@@ -108,7 +108,7 @@ - while (ino) { - if (!inode.i_links_count) - goto next; -- if (!ext2fs_inode_has_valid_blocks(&inode)) -+ if (!ext2fs_inode_has_valid_blocks(current_fs, &inode)) - goto next; - /* - * To handle filesystems touched by 0.3c extfs; can be -diff -Nur e2fsprogs-1.27/e2fsck/e2fsck.c e2fsprogs-1.27ea/e2fsck/e2fsck.c ---- e2fsprogs-1.27/e2fsck/e2fsck.c Sun Feb 24 22:03:58 2002 -+++ e2fsprogs-1.27ea/e2fsck/e2fsck.c Thu Mar 14 07:26:44 2002 -@@ -30,6 +30,7 @@ - memset(context, 0, sizeof(struct e2fsck_struct)); - - context->process_inode_size = 256; -+ context->ext_attr_ver = 2; - - *ret = context; - return 0; -diff -Nur e2fsprogs-1.27/e2fsck/e2fsck.h e2fsprogs-1.27ea/e2fsck/e2fsck.h ---- e2fsprogs-1.27/e2fsck/e2fsck.h Sun Feb 24 22:03:58 2002 -+++ e2fsprogs-1.27ea/e2fsck/e2fsck.h Thu Mar 14 07:26:44 2002 -@@ -254,6 +254,8 @@ - int fs_ext_attr_inodes; - int fs_ext_attr_blocks; - -+ int ext_attr_ver; -+ - /* - * For the use of callers of the e2fsck functions; not used by - * e2fsck functions themselves. -@@ -322,7 +324,7 @@ - - /* pass1.c */ - extern void e2fsck_use_inode_shortcuts(e2fsck_t ctx, int bool); --extern int e2fsck_pass1_check_device_inode(struct ext2_inode *inode); -+extern int e2fsck_pass1_check_device_inode(ext2_filsys fs, struct ext2_inode *inode); - extern int e2fsck_pass1_check_symlink(ext2_filsys fs, struct ext2_inode *inode); - - /* pass2.c */ -diff -Nur e2fsprogs-1.27/e2fsck/pass1.c e2fsprogs-1.27ea/e2fsck/pass1.c ---- e2fsprogs-1.27/e2fsck/pass1.c Sun Feb 24 22:03:58 2002 -+++ e2fsprogs-1.27ea/e2fsck/pass1.c Thu Mar 14 08:42:27 2002 -@@ -123,14 +123,14 @@ - * since they have the same requirement; the i_block fields should be - * zero. - */ --int e2fsck_pass1_check_device_inode(struct ext2_inode *inode) -+int e2fsck_pass1_check_device_inode(ext2_filsys fs, struct ext2_inode *inode) - { - int i; - - /* - * If i_blocks is non-zero, then this is a bogus device/fifo/socket - */ -- if (inode->i_blocks) -+ if (ext2fs_inode_data_blocks(fs, inode) != 0) - return 0; - /* - * We should be able to do the test below all the time, but -@@ -179,9 +179,9 @@ - EXT2_INDEX_FL))) - return 0; - -- if (inode->i_blocks) { -+ if (inode->i_size > sizeof (inode->i_block) - 1) { - if ((inode->i_size > fs->blocksize) || -- (inode->i_blocks != fs->blocksize >> 9) || -+ (ext2fs_inode_data_blocks(fs, inode) != fs->blocksize>>9) || - (inode->i_block[0] < fs->super->s_first_data_block) || - (inode->i_block[0] >= fs->super->s_blocks_count)) - return 0; -@@ -190,7 +190,7 @@ - if (inode->i_block[i]) - return 0; - } else { -- if (inode->i_size > sizeof(inode->i_block) - 1) -+ if (ext2fs_inode_data_blocks(fs, inode) != 0) - return 0; - - if (inode->i_size != -@@ -603,12 +603,12 @@ - ext2fs_mark_inode_bitmap(ctx->inode_reg_map, ino); - ctx->fs_regular_count++; - } else if (LINUX_S_ISCHR (inode.i_mode) && -- e2fsck_pass1_check_device_inode(&inode)) { -+ e2fsck_pass1_check_device_inode(fs, &inode)) { - check_immutable(ctx, &pctx); - check_size(ctx, &pctx); - ctx->fs_chardev_count++; - } else if (LINUX_S_ISBLK (inode.i_mode) && -- e2fsck_pass1_check_device_inode(&inode)) { -+ e2fsck_pass1_check_device_inode(fs, &inode)) { - check_immutable(ctx, &pctx); - check_size(ctx, &pctx); - ctx->fs_blockdev_count++; -@@ -617,18 +617,19 @@ - ctx->fs_symlinks_count++; - if (!e2fsck_pass1_check_symlink(fs, &inode)) - mark_inode_bad(ctx, ino); -- if (!inode.i_blocks) { -+ if (ext2fs_inode_data_blocks(fs, &inode) == 0) { - ctx->fs_fast_symlinks_count++; -+ check_blocks(ctx, &pctx, block_buf); - goto next; - } - } - else if (LINUX_S_ISFIFO (inode.i_mode) && -- e2fsck_pass1_check_device_inode(&inode)) { -+ e2fsck_pass1_check_device_inode(fs, &inode)) { - check_immutable(ctx, &pctx); - check_size(ctx, &pctx); - ctx->fs_fifo_count++; - } else if ((LINUX_S_ISSOCK (inode.i_mode)) && -- e2fsck_pass1_check_device_inode(&inode)) { -+ e2fsck_pass1_check_device_inode(fs, &inode)) { - check_immutable(ctx, &pctx); - check_size(ctx, &pctx); - ctx->fs_sockets_count++; -@@ -1057,7 +1058,10 @@ - goto clear_extattr; - header = (struct ext2_ext_attr_header *) block_buf; - pctx->blk = inode->i_file_acl; -- if (header->h_magic != EXT2_EXT_ATTR_MAGIC) { -+ if ((ctx->ext_attr_ver == 1 && -+ header->h_magic != EXT2_EXT_ATTR_MAGIC_v1) || -+ (ctx->ext_attr_ver == 2 && -+ header->h_magic != EXT2_EXT_ATTR_MAGIC)) { - if (fix_problem(ctx, PR_1_BAD_EA_BLOCK, pctx)) - goto clear_extattr; - } -@@ -1085,7 +1089,10 @@ - if (fix_problem(ctx, PR_1_EA_ALLOC_COLLISION, pctx)) - goto clear_extattr; - } -- if (entry->e_name_len == 0 || entry->e_name_index != 0) { -+ if ((ctx->ext_attr_ver == 1 && -+ (entry->e_name_len == 0 || entry->e_name_index != 0)) || -+ (ctx->ext_attr_ver == 2 && -+ entry->e_name_index == 0)) { - if (fix_problem(ctx, PR_1_EA_BAD_NAME, pctx)) - goto clear_extattr; - } -@@ -1136,9 +1143,9 @@ - int bad_size = 0; - __u64 size; - -- if (!ext2fs_inode_has_valid_blocks(pctx->inode)) -+ if (!ext2fs_inode_has_valid_blocks(fs, inode) && !inode->i_file_acl) - return; -- -+ - pb.ino = ino; - pb.num_blocks = pb.last_block = 0; - pb.num_illegal_blocks = 0; -@@ -1165,14 +1172,16 @@ - } - } - -- pctx->errcode = ext2fs_block_iterate2(fs, ino, -- pb.is_dir ? BLOCK_FLAG_HOLE : 0, -- block_buf, process_block, &pb); -- if (ctx->flags & E2F_FLAG_SIGNAL_MASK) -- return; -- end_problem_latch(ctx, PR_LATCH_BLOCK); -- if (pctx->errcode) -- fix_problem(ctx, PR_1_BLOCK_ITERATE, pctx); -+ if (ext2fs_inode_has_valid_blocks(fs, inode)) { -+ pctx->errcode = ext2fs_block_iterate2(fs, ino, -+ pb.is_dir ? BLOCK_FLAG_HOLE : 0, -+ block_buf, process_block, &pb); -+ if (ctx->flags & E2F_FLAG_SIGNAL_MASK) -+ return; -+ end_problem_latch(ctx, PR_LATCH_BLOCK); -+ if (pctx->errcode) -+ fix_problem(ctx, PR_1_BLOCK_ITERATE, pctx); -+ } - - if (pb.fragmented && pb.num_blocks < fs->super->s_blocks_per_group) - ctx->fs_fragmented++; -diff -Nur e2fsprogs-1.27/e2fsck/pass1b.c e2fsprogs-1.27ea/e2fsck/pass1b.c ---- e2fsprogs-1.27/e2fsck/pass1b.c Sun Feb 24 22:03:58 2002 -+++ e2fsprogs-1.27ea/e2fsck/pass1b.c Thu Mar 14 07:26:40 2002 -@@ -200,7 +200,7 @@ - pctx.ino = ctx->stashed_ino = ino; - if ((ino != EXT2_BAD_INO) && - (!ext2fs_test_inode_bitmap(ctx->inode_used_map, ino) || -- !ext2fs_inode_has_valid_blocks(&inode))) -+ !ext2fs_inode_has_valid_blocks(fs, &inode))) - goto next; - - pb.ino = ino; -diff -Nur e2fsprogs-1.27/e2fsck/pass2.c e2fsprogs-1.27ea/e2fsck/pass2.c ---- e2fsprogs-1.27/e2fsck/pass2.c Sun Feb 24 22:03:59 2002 -+++ e2fsprogs-1.27ea/e2fsck/pass2.c Thu Mar 14 07:26:40 2002 -@@ -672,7 +672,7 @@ - ext2fs_unmark_inode_bitmap(fs->inode_map, ino); - ext2fs_mark_ib_dirty(fs); - -- if (!ext2fs_inode_has_valid_blocks(&inode)) -+ if (!ext2fs_inode_has_valid_blocks(fs, &inode)) - return; - - if (!LINUX_S_ISDIR(inode.i_mode) && -@@ -718,16 +718,16 @@ - !(LINUX_S_ISSOCK(inode.i_mode))) - problem = PR_2_BAD_MODE; - else if (LINUX_S_ISCHR(inode.i_mode) -- && !e2fsck_pass1_check_device_inode(&inode)) -+ && !e2fsck_pass1_check_device_inode(fs, &inode)) - problem = PR_2_BAD_CHAR_DEV; - else if (LINUX_S_ISBLK(inode.i_mode) -- && !e2fsck_pass1_check_device_inode(&inode)) -+ && !e2fsck_pass1_check_device_inode(fs, &inode)) - problem = PR_2_BAD_BLOCK_DEV; - else if (LINUX_S_ISFIFO(inode.i_mode) -- && !e2fsck_pass1_check_device_inode(&inode)) -+ && !e2fsck_pass1_check_device_inode(fs, &inode)) - problem = PR_2_BAD_FIFO; - else if (LINUX_S_ISSOCK(inode.i_mode) -- && !e2fsck_pass1_check_device_inode(&inode)) -+ && !e2fsck_pass1_check_device_inode(fs, &inode)) - problem = PR_2_BAD_SOCKET; - else if (LINUX_S_ISLNK(inode.i_mode) - && !e2fsck_pass1_check_symlink(fs, &inode)) { -diff -Nur e2fsprogs-1.27/e2fsck/pass4.c e2fsprogs-1.27ea/e2fsck/pass4.c ---- e2fsprogs-1.27/e2fsck/pass4.c Sun Feb 24 22:03:59 2002 -+++ e2fsprogs-1.27ea/e2fsck/pass4.c Thu Mar 14 09:56:54 2002 -@@ -34,8 +34,8 @@ - pctx.ino = i; - pctx.inode = &inode; - -- if (!inode.i_blocks && (LINUX_S_ISREG(inode.i_mode) || -- LINUX_S_ISDIR(inode.i_mode))) { -+ if (ext2fs_inode_data_blocks(fs, &inode) == 0 && -+ (LINUX_S_ISREG(inode.i_mode) || LINUX_S_ISDIR(inode.i_mode))) { - /* - * This is a zero-length file; prompt to delete it... - */ -diff -Nur e2fsprogs-1.27/e2fsck/super.c e2fsprogs-1.27ea/e2fsck/super.c ---- e2fsprogs-1.27/e2fsck/super.c Sun Feb 24 22:03:59 2002 -+++ e2fsprogs-1.27ea/e2fsck/super.c Thu Mar 14 07:26:40 2002 -@@ -172,7 +172,7 @@ - errcode_t retval; - struct process_block_struct pb; - -- if (!ext2fs_inode_has_valid_blocks(inode)) -+ if (!ext2fs_inode_has_valid_blocks(fs, inode)) - return 0; - - pb.buf = block_buf + 3 * ctx->fs->blocksize; -diff -Nur e2fsprogs-1.27/e2fsck/swapfs.c e2fsprogs-1.27ea/e2fsck/swapfs.c ---- e2fsprogs-1.27/e2fsck/swapfs.c Sun Feb 24 22:03:59 2002 -+++ e2fsprogs-1.27ea/e2fsck/swapfs.c Thu Mar 14 07:26:40 2002 -@@ -158,7 +158,7 @@ - ((inode->i_block[EXT2_IND_BLOCK] || - inode->i_block[EXT2_DIND_BLOCK] || - inode->i_block[EXT2_TIND_BLOCK]) && -- ext2fs_inode_has_valid_blocks(inode))) -+ ext2fs_inode_has_valid_blocks(fs, inode))) - swap_inode_blocks(ctx, ino, block_buf, inode); - - if (ctx->flags & E2F_FLAG_SIGNAL_MASK) -diff -Nur e2fsprogs-1.27/e2fsck/unix.c e2fsprogs-1.27ea/e2fsck/unix.c ---- e2fsprogs-1.27/e2fsck/unix.c Fri Mar 8 07:05:02 2002 -+++ e2fsprogs-1.27ea/e2fsck/unix.c Thu Mar 14 07:26:44 2002 -@@ -79,6 +79,7 @@ - " -j external-journal Set location of the external journal\n" - " -l bad_blocks_file Add to badblocks list\n" - " -L bad_blocks_file Set badblocks list\n" -+ " -E version Extended attribute version (1-2)\n" - )); - - exit(FSCK_USAGE); -@@ -467,7 +468,7 @@ - ctx->program_name = *argv; - else - ctx->program_name = "e2fsck"; -- while ((c = getopt (argc, argv, "panyrcC:B:dfvtFVM:b:I:j:P:l:L:N:Ss")) != EOF) -+ while ((c = getopt (argc, argv, "panyrcC:B:dfvtFVM:b:I:j:P:l:L:N:SsE:")) != EOF) - switch (c) { - case 'C': - ctx->progress = e2fsck_update_progress; -@@ -580,6 +581,14 @@ - "of e2fsck\n")); - exit(1); - #endif -+ case 'E': -+ if (atoi(optarg) != 1 && atoi(optarg) != 2) { -+ usage(ctx); -+ exit(1); -+ } -+ ctx->ext_attr_ver = atoi(optarg); -+ break; -+ - default: - usage(ctx); - } -diff -Nur e2fsprogs-1.27/lib/ext2fs/bmove.c e2fsprogs-1.27ea/lib/ext2fs/bmove.c ---- e2fsprogs-1.27/lib/ext2fs/bmove.c Sun Feb 24 22:03:59 2002 -+++ e2fsprogs-1.27ea/lib/ext2fs/bmove.c Thu Mar 14 07:26:40 2002 -@@ -134,7 +134,7 @@ - - while (ino) { - if ((inode.i_links_count == 0) || -- !ext2fs_inode_has_valid_blocks(&inode)) -+ !ext2fs_inode_has_valid_blocks(fs, &inode)) - goto next; - - pb.ino = ino; -diff -Nur e2fsprogs-1.27/lib/ext2fs/ext2_ext_attr.h e2fsprogs-1.27ea/lib/ext2fs/ext2_ext_attr.h ---- e2fsprogs-1.27/lib/ext2fs/ext2_ext_attr.h Sun Feb 24 22:03:59 2002 -+++ e2fsprogs-1.27ea/lib/ext2fs/ext2_ext_attr.h Thu Mar 14 07:26:44 2002 -@@ -7,7 +7,8 @@ - */ - - /* Magic value in attribute blocks */ --#define EXT2_EXT_ATTR_MAGIC 0xEA010000 -+#define EXT2_EXT_ATTR_MAGIC_v1 0xEA010000 -+#define EXT2_EXT_ATTR_MAGIC 0xEA020000 - - /* Maximum number of references to one attribute block */ - #define EXT2_EXT_ATTR_REFCOUNT_MAX 1024 -@@ -22,7 +23,7 @@ - - struct ext2_ext_attr_entry { - __u8 e_name_len; /* length of name */ -- __u8 e_name_index; /* index into table of names (n/i) */ -+ __u8 e_name_index; /* attribute name index */ - __u16 e_value_offs; /* offset in disk block of value */ - __u32 e_value_block; /* disk block attribute is stored on (n/i) */ - __u32 e_value_size; /* size of attribute value */ -diff -Nur e2fsprogs-1.27/lib/ext2fs/ext2fs.h e2fsprogs-1.27ea/lib/ext2fs/ext2fs.h ---- e2fsprogs-1.27/lib/ext2fs/ext2fs.h Fri Mar 8 07:05:02 2002 -+++ e2fsprogs-1.27ea/lib/ext2fs/ext2fs.h Thu Mar 14 07:26:40 2002 -@@ -811,7 +811,7 @@ - struct ext2_inode *f, int hostorder); - - /* valid_blk.c */ --extern int ext2fs_inode_has_valid_blocks(struct ext2_inode *inode); -+extern int ext2fs_inode_has_valid_blocks(ext2_filsys fs, struct ext2_inode *inode); - - /* version.c */ - extern int ext2fs_parse_version_string(const char *ver_string); -@@ -992,6 +992,13 @@ - _INLINE_ int ext2fs_group_of_ino(ext2_filsys fs, ext2_ino_t ino) - { - return (ino - 1) / fs->super->s_inodes_per_group; -+} -+ -+_INLINE_ blk_t ext2fs_inode_data_blocks(ext2_filsys fs, -+ struct ext2_inode *inode) -+{ -+ return inode->i_blocks - -+ (inode->i_file_acl ? fs->blocksize >> 9 : 0); - } - #undef _INLINE_ - #endif -diff -Nur e2fsprogs-1.27/lib/ext2fs/valid_blk.c e2fsprogs-1.27ea/lib/ext2fs/valid_blk.c ---- e2fsprogs-1.27/lib/ext2fs/valid_blk.c Sun Feb 24 22:04:00 2002 -+++ e2fsprogs-1.27ea/lib/ext2fs/valid_blk.c Thu Mar 14 07:26:40 2002 -@@ -24,7 +24,7 @@ - * This function returns 1 if the inode's block entries actually - * contain block entries. - */ --int ext2fs_inode_has_valid_blocks(struct ext2_inode *inode) -+int ext2fs_inode_has_valid_blocks(ext2_filsys fs, struct ext2_inode *inode) - { - /* - * Only directories, regular files, and some symbolic links -@@ -38,7 +38,8 @@ - * If the symbolic link is a "fast symlink", then the symlink - * target is stored in the block entries. - */ -- if (LINUX_S_ISLNK (inode->i_mode) && inode->i_blocks == 0) -+ if (LINUX_S_ISLNK (inode->i_mode) && -+ ext2fs_inode_data_blocks(fs, inode) == 0) - return 0; - - return 1; -diff -Nur e2fsprogs-1.27/misc/e2image.c e2fsprogs-1.27ea/misc/e2image.c ---- e2fsprogs-1.27/misc/e2image.c Tue Mar 5 09:31:15 2002 -+++ e2fsprogs-1.27ea/misc/e2image.c Thu Mar 14 07:26:40 2002 -@@ -396,7 +396,7 @@ - if (ino == 0) - break; - if (!inode.i_links_count || -- !ext2fs_inode_has_valid_blocks(&inode)) -+ !ext2fs_inode_has_valid_blocks(fs, &inode)) - continue; - - stashed_ino = ino; -diff -Nur e2fsprogs-1.27/resize/resize2fs.c e2fsprogs-1.27ea/resize/resize2fs.c ---- e2fsprogs-1.27/resize/resize2fs.c Fri Mar 8 07:05:02 2002 -+++ e2fsprogs-1.27ea/resize/resize2fs.c Thu Mar 14 07:26:40 2002 -@@ -992,7 +992,7 @@ - pb.is_dir = LINUX_S_ISDIR(inode.i_mode); - pb.changed = 0; - -- if (ext2fs_inode_has_valid_blocks(&inode) && -+ if (ext2fs_inode_has_valid_blocks(rfs->old_fs, &inode) && - (rfs->bmap || pb.is_dir)) { - pb.ino = ino; - retval = ext2fs_block_iterate2(rfs->old_fs, -diff -Nur e2fsprogs-1.27/version.h e2fsprogs-1.27ea/version.h ---- e2fsprogs-1.27/version.h Fri Mar 8 09:32:48 2002 -+++ e2fsprogs-1.27ea/version.h Thu Mar 14 07:26:44 2002 -@@ -6,5 +6,5 @@ - * Ts'o. This file may be redistributed under the GNU Public License. - */ - --#define E2FSPROGS_VERSION "1.27" --#define E2FSPROGS_DATE "8-Mar-2002" -+#define E2FSPROGS_VERSION "1.27ea" -+#define E2FSPROGS_DATE "14-Mar-2002" |