Excerpts from Andreas Dilger's message of 2011-03-15 18:06:49 -0400: > On 2011-03-15, at 2:57 PM, Christoph Hellwig wrote: > > On Tue, Mar 15, 2011 at 04:26:50PM -0400, Chris Mason wrote: > >> #define FS_EXTENT_FL 0x00080000 /* Extents */ > >> #define FS_DIRECTIO_FL 0x00100000 /* Use direct i/o */ > >> +#define FS_NOCOW_FL 0x00800000 /* Do not cow file */ > >> +#define FS_COW_FL 0x01000000 /* Cow file */ > >> #define FS_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ > > > > I'm fine with it. I'll defer the check for conflicts with extN-specific > > flags > > to Ted, though. > > Looking at the upstream e2fsprogs I see in that range: > > > #define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ > > #define EXT4_EA_INODE_FL 0x00200000 /* Inode used for large EA */ > > #define EXT4_EOFBLOCKS_FL 0x00400000 /* Blocks allocated beyond EOF > > */ > > #define EXT4_SNAPFILE_FL 0x01000000 /* Inode is a snapshot */ > > #define EXT4_SNAPFILE_DELETED_FL 0x04000000 /* Snapshot is being deleted */ > > #define EXT4_SNAPFILE_SHRUNK_FL 0x08000000 /* Snapshot shrink has > > completed */ > > #define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ > > > > #define EXT2_FL_USER_VISIBLE 0x004BDFFF /* User visible flags */ > > so there is a conflict with FS_COW_FL and EXT4_SNAPFILE_FL. I don't know the > semantics of those two flags enough to say for sure whether it is reasonable > that they alias to each other, but at first glance "COW" and "SNAPSHOT" don't > seem completely unrelated.
In the btrfs case FS_COW_FL means to do COW even when there are no snapshots. FS_NOCOW_FL means to do cow only when there are snapshots. -chris -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html