xfs: don't run the sync work if the filesystem is read-only
If the filesystem is mounted or remounted read-only, stop the sync worker that tries to flush or cover the log if the filesystem is dirty. It's read-only, so it isn't dirty. Restart it on a remount,rw as necessary. This avoids the need for RO checks in the work. Similarly, stop the sync work when the filesystem is frozen, and start it again when the filesysetm is thawed. This avoids the need for special freeze checks in the work. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Ben Myers <bpm@sgi.com>
This commit is contained in:
parent
7e18530bef
commit
7f7bebefba
2 changed files with 18 additions and 13 deletions
|
@ -1200,6 +1200,7 @@ xfs_fs_remount(
|
|||
* value if it is non-zero, otherwise go with the default.
|
||||
*/
|
||||
xfs_restore_resvblks(mp);
|
||||
xfs_syncd_queue_sync(mp);
|
||||
}
|
||||
|
||||
/* rw -> ro */
|
||||
|
@ -1245,6 +1246,7 @@ xfs_fs_unfreeze(
|
|||
struct xfs_mount *mp = XFS_M(sb);
|
||||
|
||||
xfs_restore_resvblks(mp);
|
||||
xfs_syncd_queue_sync(mp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue