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

Reply via email to