Re: ext2fs_block_iterate() on fast symlink

2007-06-21 Thread Andreas Dilger
On Jun 21, 2007 11:54 +0200, Jan Kara wrote: On Thu 21-06-07 03:33:43, Andreas Dilger wrote: + if (LINUX_S_ISCHR(inode.i_mode) || LINUX_S_ISBLK(inode.i_mode) || + (LINUX_S_ISLNK(inode.i_mode) + ext2fs_inode_data_blocks(fs, inode) == 0)) + return

ext3/journalling deadlock on old kernel

2007-06-21 Thread Daniel Drake
Hi, To start with, this was seen on a 2.6.18 kernel which was tainted. I know how it doesn't make sense to work on a report from such an old code base, never mind a tainted kernel, so feel free to ignore this if it's not interesting.. I left a system running overnight, running stress --cpu 4

[RFC][PATCH 0/11] [take 2] e2fsprogs: add 64-bit support

2007-06-21 Thread Valerie Clement
I have updated my patchset taking into account comments received from Andreas and Jose, except for the last patch concerning the ACLs/EAs for which I did not do anything. As the changes are rather significant, I send here a new version for review. Changes from the previous version: - support of

[RFC][PATCH 1/11][take 2] add new mkfs option to create ext4 filesystems

2007-06-21 Thread Valerie Clement
This patch adds a new option '-D' to mkfs to allow creating ext4 filesystem. lib/ext2fs/ext2_fs.h|7 +++ lib/ext2fs/initialize.c |1 + misc/mke2fs.c | 18 -- 3 files changed, 24 insertions(+), 2 deletions(-) Index:

[RFC][PATCH 2/11][take 2] add new macro EXT2_DESC_PER_BLOCK in e2fsprogs

2007-06-21 Thread Valerie Clement
This patch introduces a new macro EXT2_DESC_PER_BLOCK to calculate the number of group descriptors per block as two different structures are defined. Change from previous version: use s_desc_size instead of sizeof(struct ext4_group_desc) lib/ext2fs/closefs.c|2 +-

[RFC][PATCH 5/11][take 2] new bitmaps interface in e2fsprogs

2007-06-21 Thread Valerie Clement
This patch introduces new bitmap interface for ext4 filesystems which uses the new type blk64_t. bitmaps.c | 156 -- bitops.c | 36 ++ bitops.h | 29 +++ ext2fs.h | 25 + 4 files changed, 231

[RFC][PATCH 3/11][take 2] new badblocks interface in e2fsprogs

2007-06-21 Thread Valerie Clement
This patch introduces new badblocks list functions for ext4 filesystems which use the new type blk64_t. badblocks.c | 471 +--- ext2fs.h| 28 ++- ext2fsP.h | 13 + freefs.c| 19 -- 4 files changed, 423 insertions(+),

[RFC][PATCH 8/11][take 2] 48-bit extents in e2fsprogs

2007-06-21 Thread Valerie Clement
This patch contains the changes to support 48-bit block numbers in extents. This patch is not complete, the new function block_iterate_extents() was not updated. e2fsck/pass1.c| 15 +-- lib/ext2fs/bmap.c |9 + lib/ext2fs/ext3_extents.h | 28

[RFC][PATCH 10/11][take 2] convert blk_t to 64-bit for ext4 FS in e2fsprogs

2007-06-21 Thread Valerie Clement
This patch converts blk_t type to __u64 when compiling code with _EXT4FS_ option. Force the 64-bit feature when the filesystem is greater than 2**32 blocks. Changes from the previous version: - ask for confirmation before creating the ext4 filesystem lib/ext2fs/ext2_fs.h |3 ++-

[RFC][PATCH 9/11][take 2] indirect block type conversion in e2fsprogs

2007-06-21 Thread Valerie Clement
This patch converts the indirect block definitions from blkt_t type to __u32. Changes from the previous version: - Fix errors found in the test suite make check e2fsck/pass1.c |2 - e2fsck/super.c |4 +- lib/ext2fs/bb_inode.c | 10 +++--- lib/ext2fs/block.c |

[RFC][PATCH 11/11][take 2] 48-bit block number for ACL in e2fsprogs

2007-06-21 Thread Valerie Clement
This patch is intended to contain the changes to support 48-bit block numbers for ACL. For now, it only contains modifications in the inode structure. It has to be completed. Andreas proposed to rename i_file_acl to i_file_ea and i_file_acl_high to i_file_ea_hi. ext2_fs.h | 10 ++

[RFC][PATCH 4/11][take 2] convert some block types in e2fsprogs

2007-06-21 Thread Valerie Clement
This patch converts some int or unsigned int block number definitions to blk_t type. Most conversions are necessary for 64-bit porting. Changes from the previous version: - Fix errors found in the test suite make check debugfs/debugfs.c | 12 +--- debugfs/logdump.c |

Re: ask for help; hash-directory machanism of ext3 cannot work well

2007-06-21 Thread Theodore Tso
On Thu, Jun 21, 2007 at 04:40:55PM +0800, LIOU Payphone wrote: my problem : First of all, what version of e2fsprogs and kernel are you using?n (1) when i want to format /dev/sda1 to be ext3-filesystem, i set s_def_hash_version of struct ext3_super_block to be DX_HASH_LEGACY. when the

[PATCH 0 of 4] Check journal inode sanity and recreate journal

2007-06-21 Thread Theodore Tso
Hi Kalpak, I've broken up your patch and rewritten portions of them to clean them up. As I've mentioned before, smaller patches are easier to review and to cherry pick as necessary. The changes from your patches are: 1) A smaller set of functionality (just returning the recommended

[PATCH 1 of 4] Add default journal size function

2007-06-21 Thread Theodore Tso
3 files changed, 26 insertions(+), 18 deletions(-) lib/ext2fs/ext2fs.h|1 + lib/ext2fs/mkjournal.c | 20 misc/util.c| 23 +-- # HG changeset patch # User [EMAIL PROTECTED] # Date 1182441546 14400 # Node ID

Re: [PATCH] uninitialized groups ported - kernel

2007-06-21 Thread Andreas Dilger
On Jun 20, 2007 17:26 +0530, Girish Shilamkar wrote: crc = crc16(crc, (__u8 *)gdp + offset, - sbi-s_es-s_desc_size - offset); + le16_to_cpu(sbi-s_es-s_desc_size) + -

Re: Patch to support LUKS UUIDs in libblkid

2007-06-21 Thread Theodore Tso
Thanks, I've applied the blkid LUKS patch to the e2fsprogs SCM (modulo a minor whitespace breakage which I fixed up). BTW, there appears to be a problem here in udev regarding LUKS identification: https://bugs.launchpad.net/ubuntu/+source/e2fsprogs/+bug/93921 The problem is that udev sets its

Re: [RFC][PATCH 1/11][take 2] add new mkfs option to create ext4 filesystems

2007-06-21 Thread Andreas Dilger
On Jun 21, 2007 17:04 +0200, Valerie Clement wrote: @@ -1094,6 +1095,14 @@ static void PRS(int argc, char *argv[]) exit(1); } break; + case 'D': + desc_size = strtoul(optarg, tmp, 0);

Re: [RFC][PATCH 2/11][take 2] add new macro EXT2_DESC_PER_BLOCK in e2fsprogs

2007-06-21 Thread Andreas Dilger
On Jun 21, 2007 17:15 +0200, Valerie Clement wrote: -#define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc)) +#define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / \ + ((EXT2_DESC_SIZE(s) = EXT2_MIN_DESC_SIZE_64BIT) ? \ +

Re: [RFC][PATCH 5/11][take 2] new bitmaps interface in e2fsprogs

2007-06-21 Thread Andreas Dilger
Note - most of these comments relate to making these changes compatible with existing e2fsprogs. I don't object to such patches for the short term to make 64-bit usable e2fsprogs, but I don't think they should go into the upstream e2fsprogs. I wonder if having _EXT4FS_ should force the .so

Re: [RFC][PATCH 6/11][take 2] handling of 64-bit block counts in e2fsprofs

2007-06-21 Thread Andreas Dilger
On Jun 21, 2007 17:25 +0200, Valerie Clement wrote: @@ -26,8 +26,11 @@ void ext2fs_swap_super(struct ext2_super sb-s_inodes_count = ext2fs_swab32(sb-s_inodes_count); sb-s_blocks_count = ext2fs_swab32(sb-s_blocks_count); + sb-s_blocks_count_hi =

Re: [PATCH] added sanity check for xattr validation

2007-06-21 Thread Eric Sandeen
Andreas Dilger wrote: Ted, the attached patch adds an extra validity test in check_ext_attr(). If an attribute's e_value_size is zero the current code does not allocate a region for it and as a result the e_value_offs value is not verified. However, if e_value_offs is very large then the

Re: [RFC][PATCH 7/11][take 2] handling of 64-bit block numbers in group desc in e2fsprogs

2007-06-21 Thread Andreas Dilger
On Jun 21, 2007 17:29 +0200, Valerie Clement wrote: @@ -91,6 +92,12 @@ void ext2fs_swap_group_desc(struct ext2_ gdp-bg_flags = ext2fs_swab16(gdp-bg_flags); gdp-bg_itable_unused = ext2fs_swab16(gdp-bg_itable_unused); gdp-bg_checksum = ext2fs_swab16(gdp-bg_checksum); + if

Re: [RFC][PATCH 8/11][take 2] 48-bit extents in e2fsprogs

2007-06-21 Thread Andreas Dilger
On Jun 21, 2007 17:31 +0200, Valerie Clement wrote: +#define EXT4_EE_START(s, e) \ + ((e)-ee_start +\ + (((s)-s_feature_incompat EXT4_FEATURE_INCOMPAT_64BIT) \ + (EXT2_BLOCKS_COUNT(s)

Re: [RFC][PATCH 10/11][take 2] convert blk_t to 64-bit for ext4 FS in e2fsprogs

2007-06-21 Thread Andreas Dilger
On Jun 21, 2007 17:42 +0200, Valerie Clement wrote: @@ -1273,6 +1273,17 @@ static void PRS(int argc, char *argv[]) + if (dev_size ((unsigned) 1 31) + fs_param.s_feature_incompat |= +

Re: [RFC][1/4] ext2/3/4: enlarge blocksize

2007-06-21 Thread Andreas Dilger
On Sep 08, 2006 13:11 +0900, [EMAIL PROTECTED] wrote: On July 7, 2006, sho wrote: These patches support large blocksize up to PAGESIZE (max 64KB). NOTE: They limit the end of a directory block to 65532(64K - 4) to avoid overflow only when using 64KB block. Takashi, in light of the (very

Re: [RFC][PATCH 11/11][take 2] 48-bit block number for ACL in e2fsprogs

2007-06-21 Thread Andreas Dilger
On Jun 21, 2007 17:49 +0200, Valerie Clement wrote: This patch is intended to contain the changes to support 48-bit block numbers for ACL. For now, it only contains modifications in the inode structure. It has to be completed. Andreas proposed to rename i_file_acl to i_file_ea and

Re: [PATCH] uninitialized groups ported - kernel

2007-06-21 Thread Avantika Mathur
Kernel build was failing with the uninitialized patches when CONFIG_CRC16=m. The patch below resolves this issue. Also, when testing the patches, filesystem mount fails: EXT4-fs error (device sdc1): ext4_check_descriptors: Checksum for group 1 failed (0!=1) EXT4-fs: group descriptors

Re: ask for help; hash-directory machanism of ext3 cannot work well

2007-06-21 Thread LIOU Payphone
Hello, Ted. I think I failed to represent it very well. But many thanks. :-) What makes me puzzled is there are two entries both named 3220 with ino 3350 were shown under /mnt when I ls -li /mnt. The version of kernel is 2.6.17-1.2142; and e2fsprogs-1.28. You know that we can set

IRON filesystem papers - development of robust and fault tolerant filesystems

2007-06-21 Thread sftf
Hello! I suggest developers to consider ext4 design from the point of view of these papers: IRON FILE SYSTEMS - http://www.cs.wisc.edu/wind/Publications/vijayan-thesis06.pdf IMHO - very impressive paper and developers of close future filesystems can't ignore these problems and solutions. and