ext4: support simple conversion of extent-mapped inodes to use i_blocks
authorTheodore Ts'o <tytso@mit.edu>
Thu, 4 Apr 2013 02:04:52 +0000 (22:04 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 4 Apr 2013 02:04:52 +0000 (22:04 -0400)
commit996bb9fddd5b68d1dfb5e27d30ca2c7a72448596
treea066fe717c593c2189f886612fbe1282cfb7fdcc
parentd76a3a77113db020d9bb1e894822869410450bd9
ext4: support simple conversion of extent-mapped inodes to use i_blocks

In order to make it simpler to test the code which support
i_blocks/indirect-mapped inodes, support the conversion of inodes
which are less than 12 blocks and which are contained in no more than
a single extent.

The primary intended use of this code is to converting freshly created
zero-length files and empty directories.

Note that the version of chattr in e2fsprogs 1.42.7 and earlier has a
check that prevents the clearing of the extent flag.  A simple patch
which allows "chattr -e <file>" to work will be checked into the
e2fsprogs git repository.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/ext4.h
fs/ext4/extents.c
fs/ext4/ioctl.c