diff options
| author | Maxime Ripard <mripard@kernel.org> | 2024-12-02 12:44:18 +0100 |
|---|---|---|
| committer | Maxime Ripard <mripard@kernel.org> | 2024-12-02 12:44:18 +0100 |
| commit | 3aba2eba84e0219fb66061359052be81bd883d53 (patch) | |
| tree | 36da31539acaa6c360d0b606103d90926ac04e50 /include/linux/exportfs.h | |
| parent | 44cff6c5b0b17a78bc0b30372bcd816cf6dd282a (diff) | |
| parent | 40384c840ea1944d7c5a392e8975ed088ecf0b37 (diff) | |
Merge drm/drm-next into drm-misc-next
Kickstart 6.14 cycle.
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Diffstat (limited to 'include/linux/exportfs.h')
| -rw-r--r-- | include/linux/exportfs.h | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/include/linux/exportfs.h b/include/linux/exportfs.h index 893a1d21dc1c..4cc8801e50e3 100644 --- a/include/linux/exportfs.h +++ b/include/linux/exportfs.h @@ -160,6 +160,19 @@ struct fid { #define EXPORT_FH_FID 0x2 /* File handle may be non-decodeable */ #define EXPORT_FH_DIR_ONLY 0x4 /* Only decode file handle for a directory */ +/* + * Filesystems use only lower 8 bits of file_handle type for fid_type. + * name_to_handle_at() uses upper 16 bits of type as user flags to be + * interpreted by open_by_handle_at(). + */ +#define FILEID_USER_FLAGS_MASK 0xffff0000 +#define FILEID_USER_FLAGS(type) ((type) & FILEID_USER_FLAGS_MASK) + +/* Flags supported in encoded handle_type that is exported to user */ +#define FILEID_IS_CONNECTABLE 0x10000 +#define FILEID_IS_DIR 0x20000 +#define FILEID_VALID_USER_FLAGS (FILEID_IS_CONNECTABLE | FILEID_IS_DIR) + /** * struct export_operations - for nfsd to communicate with file systems * @encode_fh: encode a file handle fragment from a dentry @@ -250,19 +263,6 @@ struct export_operations { unsigned long flags; }; -/** - * exportfs_lock_op_is_async() - export op supports async lock operation - * @export_ops: the nfs export operations to check - * - * Returns true if the nfs export_operations structure has - * EXPORT_OP_ASYNC_LOCK in their flags set - */ -static inline bool -exportfs_lock_op_is_async(const struct export_operations *export_ops) -{ - return export_ops->flags & EXPORT_OP_ASYNC_LOCK; -} - extern int exportfs_encode_inode_fh(struct inode *inode, struct fid *fid, int *max_len, struct inode *parent, int flags); |
