Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

vfs: support FS_XFLAG_COWEXTSIZE and get/set of CoW extent size hint

Introduce XFLAGs for the new XFS CoW extent size hint, and actually
plumb the CoW extent size hint into the fsxattr structure.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>

+3 -1
+3 -1
include/uapi/linux/fs.h
··· 157 157 __u32 fsx_extsize; /* extsize field value (get/set)*/ 158 158 __u32 fsx_nextents; /* nextents field value (get) */ 159 159 __u32 fsx_projid; /* project identifier (get/set) */ 160 - unsigned char fsx_pad[12]; 160 + __u32 fsx_cowextsize; /* CoW extsize field value (get/set)*/ 161 + unsigned char fsx_pad[8]; 161 162 }; 162 163 163 164 /* ··· 179 178 #define FS_XFLAG_NODEFRAG 0x00002000 /* do not defragment */ 180 179 #define FS_XFLAG_FILESTREAM 0x00004000 /* use filestream allocator */ 181 180 #define FS_XFLAG_DAX 0x00008000 /* use DAX for IO */ 181 + #define FS_XFLAG_COWEXTSIZE 0x00010000 /* CoW extent size allocator hint */ 182 182 #define FS_XFLAG_HASATTR 0x80000000 /* no DIFLAG for this */ 183 183 184 184 /* the read-only stuff doesn't really belong here, but any other place is