summaryrefslogtreecommitdiff
path: root/fs/ext4/ext4.h
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2011-09-03 18:22:38 -0400
committerTheodore Ts'o <tytso@mit.edu>2011-09-03 18:22:38 -0400
commit56889787cfa77dfd96f0b3a3e6a4f26c2e4a5134 (patch)
tree5fb1be2d593fae0bb1a566397c58dc4f7ce010f2 /fs/ext4/ext4.h
parent2be4751b21ae1cacb002da48cfc5bf6743fee8c1 (diff)
downloadlinux-3.10-56889787cfa77dfd96f0b3a3e6a4f26c2e4a5134.tar.gz
linux-3.10-56889787cfa77dfd96f0b3a3e6a4f26c2e4a5134.tar.bz2
linux-3.10-56889787cfa77dfd96f0b3a3e6a4f26c2e4a5134.zip
ext4: improve handling of conflicting mount options
If the user explicitly specifies conflicting mount options for delalloc or dioread_nolock and data=journal, fail the mount, instead of printing a warning and continuing (since many user's won't look at dmesg and notice the warning). Also, print a single warning that data=journal implies that delayed allocation is not on by default (since it's not supported), and furthermore that O_DIRECT is not supported. Improve the text in Documentation/filesystems/ext4.txt so this is clear there as well. Similarly, if the dioread_nolock mount option is specified when the file system block size != PAGE_SIZE, fail the mount instead of printing a warning message and ignoring the mount option. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r--fs/ext4/ext4.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index ccfa81f33bb..48ae98819d3 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -922,6 +922,9 @@ struct ext4_inode_info {
#define EXT4_MOUNT_DISCARD 0x40000000 /* Issue DISCARD requests */
#define EXT4_MOUNT_INIT_INODE_TABLE 0x80000000 /* Initialize uninitialized itables */
+#define EXT4_MOUNT2_EXPLICIT_DELALLOC 0x00000001 /* User explicitly
+ specified delalloc */
+
#define clear_opt(sb, opt) EXT4_SB(sb)->s_mount_opt &= \
~EXT4_MOUNT_##opt
#define set_opt(sb, opt) EXT4_SB(sb)->s_mount_opt |= \