diff options
author | Christian Brauner <brauner@kernel.org> | 2025-06-18 22:53:37 +0200 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2025-06-19 14:28:24 +0200 |
commit | 23cdee615c4fdad1a8ec6f317b3c294cb37d662d (patch) | |
tree | 722c09fe03179ae66bb46a2beff64523e75ac9a4 /fs | |
parent | bda3f1608d993419fa247dc11263fc931ceca58a (diff) |
libfs: massage path_from_stashed()
Make it a littler easier to follow.
Link: https://lore.kernel.org/20250618-work-pidfs-persistent-v2-3-98f3456fd552@kernel.org
Reviewed-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/libfs.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/fs/libfs.c b/fs/libfs.c index 3541e22c87b5d..997d3a363ce6c 100644 --- a/fs/libfs.c +++ b/fs/libfs.c @@ -2227,9 +2227,8 @@ int path_from_stashed(struct dentry **stashed, struct vfsmount *mnt, void *data, if (IS_ERR(res)) return PTR_ERR(res); if (res) { - path->dentry = res; sops->put_data(data); - goto out_path; + goto make_path; } /* Allocate a new dentry. */ @@ -2246,15 +2245,14 @@ int path_from_stashed(struct dentry **stashed, struct vfsmount *mnt, void *data, dput(dentry); return PTR_ERR(res); } - path->dentry = res; - /* A dentry was reused. */ if (res != dentry) dput(dentry); -out_path: - WARN_ON_ONCE(path->dentry->d_fsdata != stashed); - WARN_ON_ONCE(d_inode(path->dentry)->i_private != data); +make_path: + path->dentry = res; path->mnt = mntget(mnt); + VFS_WARN_ON_ONCE(path->dentry->d_fsdata != stashed); + VFS_WARN_ON_ONCE(d_inode(path->dentry)->i_private != data); return 0; } |