summaryrefslogtreecommitdiffstats
path: root/fs/exportfs
diff options
context:
space:
mode:
authorAmir Goldstein <amir73il@gmail.com>2023-10-26 23:45:40 +0300
committerChristian Brauner <brauner@kernel.org>2023-10-28 16:16:19 +0200
commitd9e5d9221d7f82a2736f091bbc5b54ab8d6ef701 (patch)
tree1c56890185ebd228e662a3bf92235c1e012840f7 /fs/exportfs
parentceb33880431c8284b58de5602b15dfb7ac0a4aa5 (diff)
downloadlinux-stable-d9e5d9221d7f82a2736f091bbc5b54ab8d6ef701.tar.gz
linux-stable-d9e5d9221d7f82a2736f091bbc5b54ab8d6ef701.tar.bz2
linux-stable-d9e5d9221d7f82a2736f091bbc5b54ab8d6ef701.zip
fs: fix build error with CONFIG_EXPORTFS=m or not defined
Many of the filesystems that call the generic exportfs helpers do not select the EXPORTFS config. Move generic_encode_ino32_fh() to libfs.c, same as generic_fh_to_*() to avoid having to fix all those config dependencies. Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202310262151.renqMvme-lkp@intel.com/ Fixes: dfaf653dc415 ("exportfs: make ->encode_fh() a mandatory method for NFS export") Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Amir Goldstein <amir73il@gmail.com> Link: https://lore.kernel.org/r/20231026204540.143217-1-amir73il@gmail.com Tested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/exportfs')
-rw-r--r--fs/exportfs/expfs.c41
1 files changed, 0 insertions, 41 deletions
diff --git a/fs/exportfs/expfs.c b/fs/exportfs/expfs.c
index 7d9fdcc187b7..3ae0154c5680 100644
--- a/fs/exportfs/expfs.c
+++ b/fs/exportfs/expfs.c
@@ -342,47 +342,6 @@ out:
return error;
}
-/**
- * generic_encode_ino32_fh - generic export_operations->encode_fh function
- * @inode: the object to encode
- * @fh: where to store the file handle fragment
- * @max_len: maximum length to store there (in 4 byte units)
- * @parent: parent directory inode, if wanted
- *
- * This generic encode_fh function assumes that the 32 inode number
- * is suitable for locating an inode, and that the generation number
- * can be used to check that it is still valid. It places them in the
- * filehandle fragment where export_decode_fh expects to find them.
- */
-int generic_encode_ino32_fh(struct inode *inode, __u32 *fh, int *max_len,
- struct inode *parent)
-{
- struct fid *fid = (void *)fh;
- int len = *max_len;
- int type = FILEID_INO32_GEN;
-
- if (parent && (len < 4)) {
- *max_len = 4;
- return FILEID_INVALID;
- } else if (len < 2) {
- *max_len = 2;
- return FILEID_INVALID;
- }
-
- len = 2;
- fid->i32.ino = inode->i_ino;
- fid->i32.gen = inode->i_generation;
- if (parent) {
- fid->i32.parent_ino = parent->i_ino;
- fid->i32.parent_gen = parent->i_generation;
- len = 4;
- type = FILEID_INO32_GEN_PARENT;
- }
- *max_len = len;
- return type;
-}
-EXPORT_SYMBOL_GPL(generic_encode_ino32_fh);
-
#define FILEID_INO64_GEN_LEN 3
/**