On Tue, Sep 09, 2008 at 09:43:47AM -0400, Theodore Tso wrote: > On Tue, Sep 09, 2008 at 07:46:47AM -0400, Christoph Hellwig wrote: > > On Tue, Sep 09, 2008 at 02:42:22PM +0530, Aneesh Kumar K.V wrote: > > > This patch adds new option, -E to chattr. The -E option > > > is used to convert the ext3 format (non extent) file > > > to ext4 (extent) format. This can be used to migrate > > > the ext3 file system to ext4 file system. > > > > I think this is an awkware interfac. Chattr is supposed to set simple > > binary flags and not a front end to complicated filesystem conversions. > > The alternate is to create an entire new program (e4migrate) just to > trigger a single ioctl. The reality is this is probably going to more > used by ext4 developers than anybody else, since it's rare that you > would want to convert a single file from using indrect blocks to using > extents. In general, most users/system administrators will want to > convert the entire filesystem; eventually this will probably be done > via some combination with the userspace program to trigger online > defrag, but this was just a stopgap measure to allow us to more easily > exercise the kernel code more than anything else. > > So given that this is only to enable extents on a single file, "chattr > +e file" is very much in line with the rest of the chattr interface > for setting other flags. > > One of the things which we may want to do to use statfs() and checking > f_type to make sure the file in question is located on an ext2/3/4 > filesystem before trying the ioctl, since it is true that a number of > other filesystems have "borrowed" the chattr program and use it for > their own purposes. It's unlikely that the ext4 migration ioctl will > be wired to anything on other filesystems, but it would be a good > safety measure to add just in case. > Shouldn't other file system give error when we call an ioctl with EXT4_IOC_MIGRATE on the fd ? On ext3 I get the below error [an/chattr@e2fsprogs-upstream-build]$ ./misc/chattr -E ./misc/e2undo ./misc/chattr: Inappropriate ioctl for device while converting ./misc/e2undo to extent format -aneesh -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html