]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - fs/overlayfs/readdir.c
ovl: do not cleanup unsupported index entries
[mirror_ubuntu-artful-kernel.git] / fs / overlayfs / readdir.c
index 74f7ead442f03b674c6b61af4ba11b80c31a6ccf..3ff960372cb9e73eae22bcb972d975403c316658 100644 (file)
@@ -704,13 +704,12 @@ int ovl_indexdir_cleanup(struct dentry *dentry, struct vfsmount *mnt,
                        break;
                }
                err = ovl_verify_index(index, lowerstack, numlower);
-               if (err) {
-                       if (err == -EROFS)
-                               break;
+               /* Cleanup stale and orphan index entries */
+               if (err && (err == -ESTALE || err == -ENOENT))
                        err = ovl_cleanup(dir, index);
-                       if (err)
-                               break;
-               }
+               if (err)
+                       break;
+
                dput(index);
                index = NULL;
        }