diff options
author | Dave Chinner <david@fromorbit.com> | 2015-03-25 15:12:53 +1100 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2015-03-25 15:12:53 +1100 |
commit | a448f8f1b744611fb1867ea811170cca2a9a6588 (patch) | |
tree | 288e292c7134d3d04ab1ef77cd7798a08276812c /include | |
parent | 2b93681f593577df6fcb9af61947beaace071b74 (diff) | |
parent | a904b1ca5751faf5ece8600e18cd3b674afcca1b (diff) | |
download | linux-a448f8f1b744611fb1867ea811170cca2a9a6588.tar.gz linux-a448f8f1b744611fb1867ea811170cca2a9a6588.tar.bz2 linux-a448f8f1b744611fb1867ea811170cca2a9a6588.zip |
Merge branch 'fallocate-insert-range' into for-next
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/falloc.h | 6 | ||||
-rw-r--r-- | include/uapi/linux/falloc.h | 17 |
2 files changed, 23 insertions, 0 deletions
diff --git a/include/linux/falloc.h b/include/linux/falloc.h index 31591686ac2d..996111000a8c 100644 --- a/include/linux/falloc.h +++ b/include/linux/falloc.h @@ -21,4 +21,10 @@ struct space_resv { #define FS_IOC_RESVSP _IOW('X', 40, struct space_resv) #define FS_IOC_RESVSP64 _IOW('X', 42, struct space_resv) +#define FALLOC_FL_SUPPORTED_MASK (FALLOC_FL_KEEP_SIZE | \ + FALLOC_FL_PUNCH_HOLE | \ + FALLOC_FL_COLLAPSE_RANGE | \ + FALLOC_FL_ZERO_RANGE | \ + FALLOC_FL_INSERT_RANGE) + #endif /* _FALLOC_H_ */ diff --git a/include/uapi/linux/falloc.h b/include/uapi/linux/falloc.h index d1197ae3723c..3e445a760f14 100644 --- a/include/uapi/linux/falloc.h +++ b/include/uapi/linux/falloc.h @@ -41,4 +41,21 @@ */ #define FALLOC_FL_ZERO_RANGE 0x10 +/* + * FALLOC_FL_INSERT_RANGE is use to insert space within the file size without + * overwriting any existing data. The contents of the file beyond offset are + * shifted towards right by len bytes to create a hole. As such, this + * operation will increase the size of the file by len bytes. + * + * Different filesystems may implement different limitations on the granularity + * of the operation. Most will limit operations to filesystem block size + * boundaries, but this boundary may be larger or smaller depending on + * the filesystem and/or the configuration of the filesystem or file. + * + * Attempting to insert space using this flag at OR beyond the end of + * the file is considered an illegal operation - just use ftruncate(2) or + * fallocate(2) with mode 0 for such type of operations. + */ +#define FALLOC_FL_INSERT_RANGE 0x20 + #endif /* _UAPI_FALLOC_H_ */ |