RE: [PATCH v3] exfat: remove EXFAT_SB_DIRTY flag
From: Namjae Jeon
Date: Wed Jun 17 2020 - 04:41:35 EST
> > remove EXFAT_SB_DIRTY flag and related codes.
> >
> > This flag is set/reset in exfat_put_super()/exfat_sync_fs() to avoid
> > sync_blockdev().
> > However ...
> > - exfat_put_super():
> > Before calling this, the VFS has already called sync_filesystem(), so
> > sync is never performed here.
> > - exfat_sync_fs():
> > After calling this, the VFS calls sync_blockdev(), so, it is
> > meaningless to check EXFAT_SB_DIRTY or to bypass sync_blockdev() here.
> > Not only that, but in some cases can't clear VOL_DIRTY.
> > ex:
> > VOL_DIRTY is set when rmdir starts, but when non-empty-dir is
> > detected, return error without setting EXFAT_SB_DIRTY.
> > If performe 'sync' in this state, VOL_DIRTY will not be cleared.
> >
>
> Since this patch does not resolve 'VOL_DIRTY in ENOTEMPTY' problem you mentioned, it would be better
> to remove the description above for that and to make new patch.
>
> > Remove the EXFAT_SB_DIRTY check to ensure synchronization.
> > And, remove the code related to the flag.
> >
> > Signed-off-by: Tetsuhiro Kohada <kohada.t2@xxxxxxxxx>
>
> Reviewed-by: Sungjong Seo <sj1557.seo@xxxxxxxxxxx>
Applied. Thanks!