On Thu 17-09-15 14:28:26, Dongsheng Yang wrote: > On 09/16/2015 06:14 PM, Jan Kara wrote: > >On Tue 15-09-15 17:02:06, Dongsheng Yang wrote: > >>There are only two places in whole kernel to call ->sync_fs directly. It > >>will sync fs even in read-only mode. It's not a good idea and some filesystem > >>would warn out if you are syncing in read-only mode. But sync_filesystem() > >>does filter this case out. Let's call sync_filesystem() here instead. > >> > >>Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> > > > >So I'd prefer ubifs used hidden system inodes for quota files, set > >DQUOT_QUOTA_SYS_FILE flag and so this code calling sync_fs() could be > >completely avoided. > > Hmmm, I think it's a good idea to make quota files SYS_FILEs. But how > about quota-tools? E.g, if quotacheck do some modification > on quota files, we would not read them without a sync_fs(). > > Could you help explain how quota works in this case? So tools like quota(1) or setquota(1) work using quotactl so they don't need access to quota files. When quota files are system files, quotacheck functionality belongs into the fsck - so fsck.ubifs is responsible for checking consistency of quota files. How e.g. e2fsck does it is that when scanning inodes, it computes usage for each user / group, loads limits information from old quota files and then just creates new quota files with updated information if there's any difference to the old quota files. Another advantage of the checking functionality being in fsck is that fs-specific fsck can gather usage information much more efficiently (and fsck has to do full fs scan anyway) and there's no need to propagate quota usage information to userspace using FIQSIZE ioctl() and similar stuff... Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html