aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/migrate.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2009-01-06 14:53:16 -0500
committerTheodore Ts'o <tytso@mit.edu>2009-01-06 14:53:16 -0500
commit83982b6f47201c4c7767210d24d7d8c99567a0b3 (patch)
treef1c19b1c6b5a34dd0c5de7519b78414b7a9267ee /fs/ext4/migrate.c
parent4d783b093cd4f3e2738527365979cbd1c5101065 (diff)
ext4: Remove "extents" mount option
This mount option is largely superfluous, and in fact the way it was implemented was buggy; if a filesystem which did not have the extents feature flag was mounted -o extents, the filesystem would attempt to create and use extents-based file even though the extents feature flag was not eabled. The simplest thing to do is to nuke the mount option entirely. It's not all that useful to force the non-creation of new extent-based files if the filesystem can support it. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/migrate.c')
-rw-r--r--fs/ext4/migrate.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/fs/ext4/migrate.c b/fs/ext4/migrate.c
index e7cd488da4bb..734abca25e35 100644
--- a/fs/ext4/migrate.c
+++ b/fs/ext4/migrate.c
@@ -459,13 +459,13 @@ int ext4_ext_migrate(struct inode *inode)
459 struct list_blocks_struct lb; 459 struct list_blocks_struct lb;
460 unsigned long max_entries; 460 unsigned long max_entries;
461 461
462 if (!test_opt(inode->i_sb, EXTENTS)) 462 /*
463 /* 463 * If the filesystem does not support extents, or the inode
464 * if mounted with noextents we don't allow the migrate 464 * already is extent-based, error out.
465 */ 465 */
466 return -EINVAL; 466 if (!EXT4_HAS_INCOMPAT_FEATURE(inode->i_sb,
467 467 EXT4_FEATURE_INCOMPAT_EXTENTS) ||
468 if ((EXT4_I(inode)->i_flags & EXT4_EXTENTS_FL)) 468 (EXT4_I(inode)->i_flags & EXT4_EXTENTS_FL))
469 return -EINVAL; 469 return -EINVAL;
470 470
471 if (S_ISLNK(inode->i_mode) && inode->i_blocks == 0) 471 if (S_ISLNK(inode->i_mode) && inode->i_blocks == 0)