diff options
author | Jan Kara <jack@suse.cz> | 2012-06-12 10:20:39 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-07-31 01:45:48 -0400 |
commit | d9457dc056249913a7abe8b71dc09e427e590e35 (patch) | |
tree | 8f0c6681d4c5802a6f5a124111b9d3958f0b281b /fs/xfs/xfs_sync.c | |
parent | 8e8ad8a57c75f3bda2d03a4c4396a9a7024ad275 (diff) |
xfs: Convert to new freezing code
Generic code now blocks all writers from standard write paths. So we add
blocking of all writers coming from ioctl (we get a protection of ioctl against
racing remount read-only as a bonus) and convert xfs_file_aio_write() to a
non-racy freeze protection. We also keep freeze protection on transaction
start to block internal filesystem writes such as removal of preallocated
blocks.
CC: Ben Myers <bpm@sgi.com>
CC: Alex Elder <elder@kernel.org>
CC: xfs@oss.sgi.com
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/xfs/xfs_sync.c')
-rw-r--r-- | fs/xfs/xfs_sync.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xfs/xfs_sync.c b/fs/xfs/xfs_sync.c index 1e9ee064dbb2..0b9feacdcd1f 100644 --- a/fs/xfs/xfs_sync.c +++ b/fs/xfs/xfs_sync.c | |||
@@ -394,7 +394,7 @@ xfs_sync_worker( | |||
394 | if (!(mp->m_super->s_flags & MS_ACTIVE) && | 394 | if (!(mp->m_super->s_flags & MS_ACTIVE) && |
395 | !(mp->m_flags & XFS_MOUNT_RDONLY)) { | 395 | !(mp->m_flags & XFS_MOUNT_RDONLY)) { |
396 | /* dgc: errors ignored here */ | 396 | /* dgc: errors ignored here */ |
397 | if (mp->m_super->s_frozen == SB_UNFROZEN && | 397 | if (mp->m_super->s_writers.frozen == SB_UNFROZEN && |
398 | xfs_log_need_covered(mp)) | 398 | xfs_log_need_covered(mp)) |
399 | error = xfs_fs_log_dummy(mp); | 399 | error = xfs_fs_log_dummy(mp); |
400 | else | 400 | else |