Pull fuse updates from Miklos Szeredi: - Fix a possible of deadlock in case inode writeback is in progress during dentry reclaim - Fix a crash in case of page stealing - Selectively invalidate cached attributes, possibly improving performance - Allow filesystems to disable data flushing from ->flush() - Misc fixes and cleanups * tag 'fuse-update-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (23 commits) fuse: fix page stealing virtiofs: use strscpy for copying the queue name fuse: add FOPEN_NOFLUSH fuse: only update necessary attributes fuse: take cache_mask into account in getattr fuse: add cache_mask fuse: move reverting attributes to fuse_change_attributes() fuse: simplify local variables holding writeback cache state fuse: cleanup code conditional on fc->writeback_cache fuse: fix attr version comparison in fuse_read_update_size() fuse: always invalidate attributes after writes fuse: rename fuse_write_update_size() fuse: don't bump attr_version in cached write fuse: selective attribute invalidation fuse: don't increment nlink in link() fuse: decrement nlink on overwriting rename fuse: simplify __fuse_write_file_get() fuse: move fuse_invalidate_attr() into fuse_update_ctime() fuse: delete redundant code fuse: use kmap_local_page() ...
Showing the changes to include/uapi/linux (1 of 11 files). Show all
Unified · Split
| @@ -184,6 +184,9 @@ · 183 unmodified lines | |||
| 184 | * | 184 | * |
| 185 | * 7.34 | 185 | * 7.34 |
| 186 | * - add FUSE_SYNCFS | 186 | * - add FUSE_SYNCFS |
| 187 | * | ||
| 188 | * 7.35 | ||
| 189 | * - add FOPEN_NOFLUSH | ||
| 187 | */ | 190 | */ |
| 188 | 191 | ||
| 189 | #ifndef _LINUX_FUSE_H | 192 | #ifndef _LINUX_FUSE_H |
| @@ -219,7 +222,7 @@ · 29 unmodified lines | |||
| 219 | #define FUSE_KERNEL_VERSION 7 | 222 | #define FUSE_KERNEL_VERSION 7 |
| 220 | 223 | ||
| 221 | /** Minor version number of this interface */ | 224 | /** Minor version number of this interface */ |
| 222 | #define FUSE_KERNEL_MINOR_VERSION 34 | 225 | #define FUSE_KERNEL_MINOR_VERSION 35 |
| 223 | 226 | ||
| 224 | /** The node ID of the root inode */ | 227 | /** The node ID of the root inode */ |
| 225 | #define FUSE_ROOT_ID 1 | 228 | #define FUSE_ROOT_ID 1 |
| @@ -290,12 +293,14 @@ struct fuse_file_lock { · 64 unmodified lines | |||
| 290 | * FOPEN_NONSEEKABLE: the file is not seekable | 293 | * FOPEN_NONSEEKABLE: the file is not seekable |
| 291 | * FOPEN_CACHE_DIR: allow caching this directory | 294 | * FOPEN_CACHE_DIR: allow caching this directory |
| 292 | * FOPEN_STREAM: the file is stream-like (no file position at all) | 295 | * FOPEN_STREAM: the file is stream-like (no file position at all) |
| 296 | * FOPEN_NOFLUSH: don't flush data cache on close (unless FUSE_WRITEBACK_CACHE) | ||
| 293 | */ | 297 | */ |
| 294 | #define FOPEN_DIRECT_IO (1 << 0) | 298 | #define FOPEN_DIRECT_IO (1 << 0) |
| 295 | #define FOPEN_KEEP_CACHE (1 << 1) | 299 | #define FOPEN_KEEP_CACHE (1 << 1) |
| 296 | #define FOPEN_NONSEEKABLE (1 << 2) | 300 | #define FOPEN_NONSEEKABLE (1 << 2) |
| 297 | #define FOPEN_CACHE_DIR (1 << 3) | 301 | #define FOPEN_CACHE_DIR (1 << 3) |
| 298 | #define FOPEN_STREAM (1 << 4) | 302 | #define FOPEN_STREAM (1 << 4) |
| 303 | #define FOPEN_NOFLUSH (1 << 5) | ||
| 299 | 304 | ||
| 300 | /** | 305 | /** |
| 301 | * INIT request/reply flags | 306 | * INIT request/reply flags |