ldiskfs_sync_fs() calls dquot_writeback_dquots(), which expects
we are holding s_umount since kernel 4.10
Linux-commit:
9d1ccbe70e0b14545caad12dc73adb3605447df0
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Change-Id: Icda84eebe0d6261e9e374fb2a005bb66e586bba8
Reviewed-on: https://review.whamcloud.com/33135
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Gu Zheng <gzheng@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
struct dt_device *d)
{
struct super_block *s = osd_sb(osd_dt_dev(d));
+ int rc;
ENTRY;
CDEBUG(D_HA, "%s: async commit OSD\n", osd_dt_dev(d)->od_svname);
- RETURN(s->s_op->sync_fs(s, 0));
+ down_read(&s->s_umount);
+ rc = s->s_op->sync_fs(s, 0);
+ up_read(&s->s_umount);
+
+ RETURN(rc);
}
/* Our own copy of the set readonly functions if present, or NU if not. */