aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2016-10-03 12:11:13 -0400
committerDarrick J. Wong <darrick.wong@oracle.com>2016-10-03 12:11:13 -0400
commit0a6eab8bd4e0120d49511acbb294797d96ef9e4a (patch)
tree75d4eb84877c51938df3a31e217d0c789ab9f7d5
parent155cd433b516506df065866f3d974661f6473572 (diff)
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>
-rw-r--r--include/uapi/linux/fs.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/uapi/linux/fs.h b/include/uapi/linux/fs.h
index 3b00f7c8943f..cf398764b19e 100644
--- a/include/uapi/linux/fs.h
+++ b/include/uapi/linux/fs.h
@@ -157,7 +157,8 @@ struct fsxattr {
157 __u32 fsx_extsize; /* extsize field value (get/set)*/ 157 __u32 fsx_extsize; /* extsize field value (get/set)*/
158 __u32 fsx_nextents; /* nextents field value (get) */ 158 __u32 fsx_nextents; /* nextents field value (get) */
159 __u32 fsx_projid; /* project identifier (get/set) */ 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/*
@@ -178,6 +179,7 @@ struct fsxattr {
178#define FS_XFLAG_NODEFRAG 0x00002000 /* do not defragment */ 179#define FS_XFLAG_NODEFRAG 0x00002000 /* do not defragment */
179#define FS_XFLAG_FILESTREAM 0x00004000 /* use filestream allocator */ 180#define FS_XFLAG_FILESTREAM 0x00004000 /* use filestream allocator */
180#define FS_XFLAG_DAX 0x00008000 /* use DAX for IO */ 181#define FS_XFLAG_DAX 0x00008000 /* use DAX for IO */
182#define FS_XFLAG_COWEXTSIZE 0x00010000 /* CoW extent size allocator hint */
181#define FS_XFLAG_HASATTR 0x80000000 /* no DIFLAG for this */ 183#define FS_XFLAG_HASATTR 0x80000000 /* no DIFLAG for this */
182 184
183/* the read-only stuff doesn't really belong here, but any other place is 185/* the read-only stuff doesn't really belong here, but any other place is