diff options
author | Bernd Schubert <bernd@bsbernd.com> | 2024-12-28 11:15:30 +0100 |
---|---|---|
committer | Bernd Schubert <bernd@bsbernd.com> | 2024-12-30 23:04:03 +0100 |
commit | efa630fa491566938c08508f64f41b590cfedc07 (patch) | |
tree | bb47feb38a10b82215d54903908a81d2e20a0b4e /include | |
parent | 682e87dbc0a18a703fd4a746b5ef7ee22fb559cf (diff) | |
download | libfuse-efa630fa491566938c08508f64f41b590cfedc07.tar.gz |
Restore compat ABI in 'struct fuse_file_info'
This fixes commit
a5eb7f2 "Enable parallel direct writes on the same file"
and restores the ABI by moving the parallel_direct_writes
bit.
Given that there were already several releases with this commit
we will still need an so version bump.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/fuse.h | 31 | ||||
-rw-r--r-- | include/fuse_common.h | 8 |
2 files changed, 20 insertions, 19 deletions
diff --git a/include/fuse.h b/include/fuse.h index 396358d..49ba7d9 100644 --- a/include/fuse.h +++ b/include/fuse.h @@ -281,21 +281,6 @@ struct fuse_config { int nullpath_ok; /** - * Allow parallel direct-io writes to operate on the same file. - * - * FUSE implementations which do not handle parallel writes on - * same file/region should NOT enable this option at all as it - * might lead to data inconsistencies. - * - * For the FUSE implementations which have their own mechanism - * of cache/data integrity are beneficiaries of this setting as - * it now open doors to parallel writes on the same file (without - * enabling this setting, all direct writes on the same file are - * serialized, resulting in huge data bandwidth loss). - */ - int parallel_direct_writes; - - /** * These 3 options are used by libfuse internally and * should not be touched. */ @@ -310,6 +295,22 @@ struct fuse_config { */ unsigned int fmask; unsigned int dmask; + + /** + * Allow parallel direct-io writes to operate on the same file. + * + * FUSE implementations which do not handle parallel writes on + * same file/region should NOT enable this option at all as it + * might lead to data inconsistencies. + * + * For the FUSE implementations which have their own mechanism + * of cache/data integrity are beneficiaries of this setting as + * it now open doors to parallel writes on the same file (without + * enabling this setting, all direct writes on the same file are + * serialized, resulting in huge data bandwidth loss). + */ + int parallel_direct_writes; + }; diff --git a/include/fuse_common.h b/include/fuse_common.h index e6c3b5d..c46aacb 100644 --- a/include/fuse_common.h +++ b/include/fuse_common.h @@ -67,10 +67,6 @@ struct fuse_file_info { the file/directory is closed. */ unsigned int keep_cache : 1; - /** Can be filled by open/create, to allow parallel direct writes on this - file */ - unsigned int parallel_direct_writes : 1; - /** Indicates a flush operation. Set in flush operation, also maybe set in highlevel lock operation and lowlevel release operation. */ @@ -95,6 +91,10 @@ struct fuse_file_info { on close. */ unsigned int noflush : 1; + /** Can be filled by open/create, to allow parallel direct writes on this + file */ + unsigned int parallel_direct_writes : 1; + /** Padding. Reserved for future use*/ unsigned int padding : 23; unsigned int padding2 : 32; |