diff options
| author | Jan Kara <jack@suse.cz> | 2025-10-01 15:19:07 +0200 |
|---|---|---|
| committer | Jan Kara <jack@suse.cz> | 2025-10-06 14:26:50 +0200 |
| commit | 48b77733d0dbaf8cd0a122712072f92b2d95d894 (patch) | |
| tree | 4a058f353ef1460a2234ff48afde7cd06f78c40c | |
| parent | fd94619c43360eb44d28bd3ef326a4f85c600a07 (diff) | |
expfs: Fix exportfs_can_encode_fh() for EXPORT_FH_FID
After commit 5402c4d4d200 ("exportfs: require ->fh_to_parent() to encode
connectable file handles") we will fail to create non-decodable file
handles for filesystems without export operations. Fix it.
Fixes: 5402c4d4d200 ("exportfs: require ->fh_to_parent() to encode connectable file handles")
Reviewed-by: Christian Brauner <brauner@kernel.org>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
| -rw-r--r-- | include/linux/exportfs.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/linux/exportfs.h b/include/linux/exportfs.h index d0cf10d5e0f7..f0cf2714ec52 100644 --- a/include/linux/exportfs.h +++ b/include/linux/exportfs.h @@ -320,9 +320,6 @@ static inline bool exportfs_can_decode_fh(const struct export_operations *nop) static inline bool exportfs_can_encode_fh(const struct export_operations *nop, int fh_flags) { - if (!nop) - return false; - /* * If a non-decodeable file handle was requested, we only need to make * sure that filesystem did not opt-out of encoding fid. @@ -330,6 +327,10 @@ static inline bool exportfs_can_encode_fh(const struct export_operations *nop, if (fh_flags & EXPORT_FH_FID) return exportfs_can_encode_fid(nop); + /* Normal file handles cannot be created without export ops */ + if (!nop) + return false; + /* * If a connectable file handle was requested, we need to make sure that * filesystem can also decode connected file handles. |
