ovl: fix out of date comment and unreachable code
authorAmir Goldstein <amir73il@gmail.com>
Tue, 19 Nov 2019 15:14:55 +0000 (17:14 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Tue, 17 Mar 2020 14:04:21 +0000 (15:04 +0100)
ovl_inode_update() is no longer called from create object code path.

Fixes: 01b39dcc9568 ("ovl: use inode_insert5() to hash a newly...")
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/overlayfs/inode.c
fs/overlayfs/util.c

index 3f993c1..98a605b 100644 (file)
@@ -571,9 +571,11 @@ static void ovl_fill_inode(struct inode *inode, umode_t mode, dev_t rdev,
         * bits to encode layer), set the same value used for st_ino to i_ino,
         * so inode number exposed via /proc/locks and a like will be
         * consistent with d_ino and st_ino values. An i_ino value inconsistent
-        * with d_ino also causes nfsd readdirplus to fail.  When called from
-        * ovl_new_inode(), ino arg is 0, so i_ino will be updated to real
-        * upper inode i_ino on ovl_inode_init() or ovl_inode_update().
+        * with d_ino also causes nfsd readdirplus to fail.
+        *
+        * When called from ovl_create_object() => ovl_new_inode(), with
+        * ino = 0, i_ino will be updated to consistent value later on in
+        * ovl_get_inode() => ovl_fill_inode().
         */
        if (ovl_same_dev(inode->i_sb)) {
                inode->i_ino = ino;
index 042f7eb..6584e58 100644 (file)
@@ -416,8 +416,6 @@ void ovl_inode_update(struct inode *inode, struct dentry *upperdentry)
        smp_wmb();
        OVL_I(inode)->__upperdentry = upperdentry;
        if (inode_unhashed(inode)) {
-               if (!inode->i_ino)
-                       inode->i_ino = upperinode->i_ino;
                inode->i_private = upperinode;
                __insert_inode_hash(inode, (unsigned long) upperinode);
        }