ext4: fix accidental flag aliasing in ext4_map_blocks flags
authorTheodore Ts'o <tytso@mit.edu>
Mon, 1 Sep 2014 18:33:09 +0000 (14:33 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 1 Sep 2014 18:33:09 +0000 (14:33 -0400)
Commit b8a8684502a0f introduced an accidental flag aliasing between
EXT4_EX_NOCACHE and EXT4_GET_BLOCKS_CONVERT_UNWRITTEN.

Fortunately, this didn't introduce any untorward side effects --- we
got lucky.  Nevertheless, fix this and leave a warning to hopefully
avoid this from happening in the future.

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

index cf3ad75d3015a717298cf0bf374974c09f7e7d74..550b4f99a8436b4e1cab32c1abbb56e15cdaad3f 100644 (file)
@@ -569,6 +569,7 @@ enum {
 #define EXT4_GET_BLOCKS_NO_PUT_HOLE            0x0200
        /* Convert written extents to unwritten */
 #define EXT4_GET_BLOCKS_CONVERT_UNWRITTEN      0x0400
+/* DO NOT ASSIGN ADDITIONAL FLAG VALUES WITHOUT ADJUSTING THE FLAGS BELOW */
 
 /*
  * The bit position of these flags must not overlap with any of the
@@ -579,8 +580,8 @@ enum {
  * caching the extents when reading from the extent tree while a
  * truncate or punch hole operation is in progress.
  */
-#define EXT4_EX_NOCACHE                                0x0400
-#define EXT4_EX_FORCE_CACHE                    0x0800
+#define EXT4_EX_NOCACHE                                0x0800
+#define EXT4_EX_FORCE_CACHE                    0x1000
 
 /*
  * Flags used by ext4_free_blocks