I mentioned rmdir as an example.
However, this problem is not only with rmdirs.
VOL_DIRTY remains when some functions abort with an error.
In original, VOL_DIRTY is not cleared even if performe 'sync'.
With this patch, it ensures that VOL_DIRTY will be cleared by 'sync'.
Is my description insufficient?
I understood what you said. However, it is a natural result
when deleting the related code with EXFAT_SB_DIRTY flag.
So I thought it would be better to separate it into new problems
related to VOL_DIRTY-set under not real errors.
BTW
Even with this patch applied, VOL_DIRTY remains until synced in the above
case.
It's not easy to reproduce as rmdir, but I'll try to fix it in the future.
I think it's not a problem not to clear VOL_DIRTY under real errors,
because VOL_DIRTY is just like a hint to note that write was not finished clearly.
If you mean there are more situation like ENOTEMPTY you mentioned,
please make new patch to fix them.