Get loan from xaio loan company........Apply now!!!

2008-02-25 Thread XAIO LOAN COMPANY





-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[GIT PULL] ext4 update

2008-02-25 Thread Theodore Ts'o
Hi Linus,

Please pull from:

git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git for_linus

To get a number of ext4 bug fixes for 2.6.25.

Thanks,

- Ted

Akinobu Mita (1):
  ext4: add missing ext4_journal_stop()

Andi Kleen (1):
  Remove incorrect BKL comments in ext4

Aneesh Kumar K.V (8):
  ext4: Fix locking hierarchy violation in ext4_fallocate()
  ext4: Don't leave behind a half-created inode if ext4_mkdir() fails
  ext4: Fix memory and buffer head leak in callers to ext4_ext_find_extent()
  ext4: Get journal write access before modifying the extent tree
  ext4: Don't claim block from group which has corrupt bitmap
  ext4: Don't mark filesystem error if fallocate fails
  ext4: set EXT4_EXTENTS_FL only for directory and regular files
  ext4: ext4_find_next_zero_bit needs an aligned address on some arch

Mingming Cao (1):
  ext4: Fix BUG when writing to an unitialized extent

Theodore Ts'o (1):
  ext4: Don't use ext4_dec_count() if not needed

Valerie Clement (2):
  ext4: Fix kernel BUG at fs/ext4/mballoc.c:910!
  ext4: modify block allocation algorithm for the last group

 fs/ext4/dir.c   |2 +-
 fs/ext4/extents.c   |   59 +++-
 fs/ext4/ialloc.c|   22 +++---
 fs/ext4/inode.c |   56 +--
 fs/ext4/mballoc.c   |   80 +++
 fs/ext4/migrate.c   |5 ++
 fs/ext4/namei.c |   18 +++-
 fs/ext4/resize.c|1 +
 include/linux/ext4_fs_extents.h |1 +
 9 files changed, 177 insertions(+), 67 deletions(-)
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: What's cooking in e2fsprogs.git (topics)

2008-02-25 Thread Theodore Tso
On Mon, Feb 25, 2008 at 11:32:34AM -0600, Eric Sandeen wrote:
> Are you sure?  This was her patch comment, from
> [PATCH] ext4: Don't set EXTENTS_FL flag for fast symlinks:

You're right, I confused myself.

> > But you do raise a good point that we need to support using the
> > extents format in order to support blocks > 2**32, so we can't just
> > arbitrary convert all symlinks to the old-style direct block maps.
> 
> ... so I think we really *should* be unconditionally storing *long*
> symlinks in extent format, on ext4... right?

Yes, I think so.  Being liberal in what you receive is probably a good
idea, but we should only store new symlinks in one standard format,
and the extents format makes sense since it will allow us to support
48-bit block numbers.

   - Ted
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: What's cooking in e2fsprogs.git (topics)

2008-02-25 Thread Eric Sandeen
Theodore Tso wrote:
> On Sun, Feb 24, 2008 at 09:20:50PM -0700, Andreas Dilger wrote:
>> On Feb 22, 2008  19:15 -0500, Theodore Ts'o wrote:
>>> So before the recent patch were we actually creating long symlinks in
>>> extents format?  Or were we just setting the flag but still treating
>>> them as a block number?  If it was the latter, I guess we can put in
>>> code into e2fsck to detect that case, and convert it back to a
>>> singleton block number.  
>> Eric informed me that the long symlinks were actually stored in extent
>> mapped blocks.  That is not harmful, because it can only be a single
>> block and it will always fit into the inode.  The other thing to note
>> is that extent mapping is REQUIRED for > 32-bit blocknumbers, so we
>> may as well fix e2fsprogs to allow these symlinks to be handled normally.
> 
> Well, at least some kernel versions (as of sometime just before
> 2.6.25, iirc) were storing the long symlink as a single block in
> i_block[0], despite EXTENTS_FL being set.  Valerie noticed this, and I
> confirmed it, as it caused the mainline e2fsck extents support to core
> dump.  Basically, what this means is that e2fsprogs can't trust
> EXTENTS_FL for long symlinks.

Are you sure?  This was her patch comment, from
[PATCH] ext4: Don't set EXTENTS_FL flag for fast symlinks:

> For fast symbolic links, the file content is stored in the i_block[]
> array, which is not compatible with the new file extents format.
> e2fsck reports error on such files because EXTENTS_FL is set.
> Don't set the EXTENTS_FL flag when creating fast symlinks.

so this was for *fast* symlinks, stored internally on top of the i_block
array, right?  In that case trying to read it as extents would certainly
cause problems.  But, for *long* symlinks I think they truly were stored
in extent format, and as you say...

> But you do raise a good point that we need to support using the
> extents format in order to support blocks > 2**32, so we can't just
> arbitrary convert all symlinks to the old-style direct block maps.

... so I think we really *should* be unconditionally storing *long*
symlinks in extent format, on ext4... right?

-Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: What's cooking in e2fsprogs.git (topics)

2008-02-25 Thread Aneesh Kumar K.V
On Mon, Feb 25, 2008 at 10:13:39AM -0500, Theodore Tso wrote:
> On Sun, Feb 24, 2008 at 09:20:50PM -0700, Andreas Dilger wrote:
> > On Feb 22, 2008  19:15 -0500, Theodore Ts'o wrote:
> > > So before the recent patch were we actually creating long symlinks in
> > > extents format?  Or were we just setting the flag but still treating
> > > them as a block number?  If it was the latter, I guess we can put in
> > > code into e2fsck to detect that case, and convert it back to a
> > > singleton block number.  
> > 
> > Eric informed me that the long symlinks were actually stored in extent
> > mapped blocks.  That is not harmful, because it can only be a single
> > block and it will always fit into the inode.  The other thing to note
> > is that extent mapping is REQUIRED for > 32-bit blocknumbers, so we
> > may as well fix e2fsprogs to allow these symlinks to be handled normally.
> 
> Well, at least some kernel versions (as of sometime just before
> 2.6.25, iirc) were storing the long symlink as a single block in
> i_block[0], despite EXTENTS_FL being set.  Valerie noticed this, and I
> confirmed it, as it caused the mainline e2fsck extents support to core
> dump.  Basically, what this means is that e2fsprogs can't trust
> EXTENTS_FL for long symlinks.
> 
> But you do raise a good point that we need to support using the
> extents format in order to support blocks > 2**32, so we can't just
> arbitrary convert all symlinks to the old-style direct block maps.

How about the patch like below on top of the patch queue. Patch queue
currently enable extent flag only for directory and file . This patch
add it to normal symlink. With this fast symlink still have the extent
format enabled. I guess this would need a patch to the interim branch of
e2fsprogs to allow normal symlink to have extent format.

-aneesh

ext4: Enable extent format for symlink.

From: Aneesh Kumar K.V <[EMAIL PROTECTED]>

This patch enable extent format for normal symlink. Extent format enables
to refere file system blocks > 32 bits. Enabling extent format for symlink
enables to have symlink block beyond 2**32 blocks. We still don't enable
extent format for fast symlink.

Signed-off-by: Aneesh Kumar K.V <[EMAIL PROTECTED]>
---

 fs/ext4/ialloc.c |4 ++--
 fs/ext4/namei.c  |2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)


diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c
index 78d1094..1462189 100644
--- a/fs/ext4/ialloc.c
+++ b/fs/ext4/ialloc.c
@@ -842,8 +842,8 @@ got:
goto fail_free_drop;
}
if (test_opt(sb, EXTENTS)) {
-   /* set extent flag only for diretory and file */
-   if (S_ISDIR(mode) || S_ISREG(mode)) {
+   /* set extent flag only for diretory, file and normal symlink*/
+   if (S_ISDIR(mode) || S_ISREG(mode) || S_ISLNK(mode)) {
EXT4_I(inode)->i_flags |= EXT4_EXTENTS_FL;
ext4_ext_tree_init(handle, inode);
err = ext4_update_incompat_feature(handle, sb,
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
index da942bc..63c33e0 100644
--- a/fs/ext4/namei.c
+++ b/fs/ext4/namei.c
@@ -,6 +,8 @@ retry:
goto out_stop;
}
} else {
+   /* clear the extent format for fast symlink */
+   EXT4_I(inode)->i_flags &= ~EXT4_EXTENTS_FL;
inode->i_op = &ext4_fast_symlink_inode_operations;
memcpy((char*)&EXT4_I(inode)->i_data,symname,l);
inode->i_size = l-1;
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: What's cooking in e2fsprogs.git (topics)

2008-02-25 Thread Theodore Tso
On Sun, Feb 24, 2008 at 09:20:50PM -0700, Andreas Dilger wrote:
> On Feb 22, 2008  19:15 -0500, Theodore Ts'o wrote:
> > So before the recent patch were we actually creating long symlinks in
> > extents format?  Or were we just setting the flag but still treating
> > them as a block number?  If it was the latter, I guess we can put in
> > code into e2fsck to detect that case, and convert it back to a
> > singleton block number.  
> 
> Eric informed me that the long symlinks were actually stored in extent
> mapped blocks.  That is not harmful, because it can only be a single
> block and it will always fit into the inode.  The other thing to note
> is that extent mapping is REQUIRED for > 32-bit blocknumbers, so we
> may as well fix e2fsprogs to allow these symlinks to be handled normally.

Well, at least some kernel versions (as of sometime just before
2.6.25, iirc) were storing the long symlink as a single block in
i_block[0], despite EXTENTS_FL being set.  Valerie noticed this, and I
confirmed it, as it caused the mainline e2fsck extents support to core
dump.  Basically, what this means is that e2fsprogs can't trust
EXTENTS_FL for long symlinks.

But you do raise a good point that we need to support using the
extents format in order to support blocks > 2**32, so we can't just
arbitrary convert all symlinks to the old-style direct block maps.

- Ted
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html