On Tue, Jul 11, 2017 at 2:58 PM, Amir Goldstein <amir73il@xxxxxxxxx> wrote: > Just like on failure to create work dir or index dir, when > index dir verification or cleanup fails, mount the overlay > read-only with a warning instead of failing the mount. Why? The failure to create case was done to ensure we can mount the overlay read-only with the same options if the underlying layers are read-only as well. This, however, does not have such a use case. Or does it? Thanks, Miklos > > Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx> > --- > fs/overlayfs/super.c | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) > > diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c > index 215b6d23d944..fbb317ad55f6 100644 > --- a/fs/overlayfs/super.c > +++ b/fs/overlayfs/super.c > @@ -1066,19 +1066,21 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent) > /* Verify upper root is index dir origin */ > err = ovl_verify_origin(ufs->indexdir, ufs->upper_mnt, > upperpath.dentry, true, true); > - if (err) > - pr_err("overlayfs: failed to verify index dir origin\n"); > - > /* Cleanup bad/stale/orphan index entries */ > if (!err) > err = ovl_indexdir_cleanup(ufs->indexdir, > ufs->upper_mnt, > stack, numlower); > + if (err) > + pr_warn("overlayfs: failed to verify index dir (err=%i); mounting read-only\n", > + err); > + } > + if (err || !ufs->indexdir) { > + pr_warn("overlayfs: delete index dir or mount with '-o index=off' to disable inodes index.\n"); > + sb->s_flags |= MS_RDONLY; > + dput(ufs->indexdir); > + ufs->indexdir = NULL; > } > - if (err || !ufs->indexdir) > - pr_warn("overlayfs: try deleting index dir or mounting with '-o index=off' to disable inodes index.\n"); > - if (err) > - goto out_put_indexdir; > } > > if (remote) > -- > 2.7.4 > -- To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html