On Wed, Jul 19, 2023 at 11:54 AM Yunlong Xing <yunlong.xing@xxxxxxxxxx> wrote: > > The current ovlfs mount flow: > > ovl_fill_super > |_ovl_get_workdir > |_ovl_make_workdir > |_ovl_check_rename_whiteout > > In ovl_check_rename_whiteout(), a new file is attempted to create.But if > the upper doesn't have space to do this, it will return error -ENOSPC, > causing the mount fail. It means that if the upper is full, the overlayfs > cannot be mounted.It is not reasonable, so this patch will omit this error > and continue mount flow. > > Fixes: cad218ab3320 ("ovl: check if upper fs supports RENAME_WHITEOUT") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Yunlong Xing <yunlong.xing@xxxxxxxxxx> > --- > changes of v2: Following Amir's suggestion, assuming it is not supported > if the check fails because the upper does't have space > --- Reviewed-by: Amir Goldstein <amir73il@xxxxxxxxx> > fs/overlayfs/super.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c > index 5b069f1a1e44..2b33c56fe4d7 100644 > --- a/fs/overlayfs/super.c > +++ b/fs/overlayfs/super.c > @@ -744,12 +744,13 @@ static int ovl_make_workdir(struct super_block *sb, struct ovl_fs *ofs, > > /* Check if upper/work fs supports RENAME_WHITEOUT */ > err = ovl_check_rename_whiteout(ofs); > - if (err < 0) > + if (err < 0 && err != -ENOSPC) > goto out; > > - rename_whiteout = err; > + rename_whiteout = err > 0; > if (!rename_whiteout) > - pr_warn("upper fs does not support RENAME_WHITEOUT.\n"); > + pr_warn("upper fs does not support RENAME_WHITEOUT (%i).\n, > + err"); > > /* > * Check if upper/work fs supports (trusted|user).overlay.* xattr > -- > 2.25.1 >