summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-04-02 20:42:07 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2024-04-03 17:50:22 -0400
commit0f14bcb1cc0fed4485533033f33b74c00eef16fc (patch)
tree6b136ea4c02d3de3e80a58face55200605a84873
parenta442b0149af9ea66c04eb8dc4156c54058aa7485 (diff)
Revert "fs/9p: Eliminate now unused v9fs_get_inode"
This reverts commit f61c906a7dffaa21b28c52000a75f2c6554a8199.
-rw-r--r--fs/9p/v9fs_vfs.h2
-rw-r--r--fs/9p/vfs_inode.c30
2 files changed, 32 insertions, 0 deletions
diff --git a/fs/9p/v9fs_vfs.h b/fs/9p/v9fs_vfs.h
index 6873850ad93e..0e8418066a48 100644
--- a/fs/9p/v9fs_vfs.h
+++ b/fs/9p/v9fs_vfs.h
@@ -40,6 +40,8 @@ extern struct kmem_cache *v9fs_inode_cache;
struct inode *v9fs_alloc_inode(struct super_block *sb);
void v9fs_free_inode(struct inode *inode);
+struct inode *v9fs_get_inode(struct super_block *sb, umode_t mode,
+ dev_t rdev);
void v9fs_set_netfs_context(struct inode *inode);
int v9fs_init_inode(struct v9fs_session_info *v9ses,
struct inode *inode, umode_t mode, dev_t rdev);
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index 8da32de3c318..32572982f72e 100644
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -332,6 +332,36 @@ error:
}
/**
+ * v9fs_get_inode - helper function to setup an inode
+ * @sb: superblock
+ * @mode: mode to setup inode with
+ * @rdev: The device numbers to set
+ */
+
+struct inode *v9fs_get_inode(struct super_block *sb, umode_t mode, dev_t rdev)
+{
+ int err;
+ struct inode *inode;
+ struct v9fs_session_info *v9ses = sb->s_fs_info;
+
+ p9_debug(P9_DEBUG_VFS, "super block: %p mode: %ho\n", sb, mode);
+
+ inode = new_inode(sb);
+ if (!inode) {
+ pr_warn("%s (%d): Problem allocating inode\n",
+ __func__, task_pid_nr(current));
+ return ERR_PTR(-ENOMEM);
+ }
+ err = v9fs_init_inode(v9ses, inode, mode, rdev);
+ if (err) {
+ iput(inode);
+ return ERR_PTR(err);
+ }
+ v9fs_set_netfs_context(inode);
+ return inode;
+}
+
+/**
* v9fs_evict_inode - Remove an inode from the inode cache
* @inode: inode to release
*