diff options
author | Nathan Scott <nathans@sgi.com> | 2006-06-09 00:58:38 -0400 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2006-06-09 00:58:38 -0400 |
commit | 7d04a335b6b2d79e3742ffd28bd651204574e794 (patch) | |
tree | 2b687202ae47c5e0c70a2b921b77135066131d8d /fs/xfs/xfs_fsops.c | |
parent | b76963fac4a17b661bad46e5a57b0f918c6f0cd1 (diff) |
[XFS] Shutdown the filesystem if all device paths have gone. Made
shutdown vop flags consistent with sync vop flags declarations too.
SGI-PV: 939911
SGI-Modid: xfs-linux-melb:xfs-kern:26096a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_fsops.c')
-rw-r--r-- | fs/xfs/xfs_fsops.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index dfa3527b20a7..96f4b3e8fa4a 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c | |||
@@ -578,17 +578,18 @@ xfs_fs_goingdown( | |||
578 | struct super_block *sb = freeze_bdev(vfsp->vfs_super->s_bdev); | 578 | struct super_block *sb = freeze_bdev(vfsp->vfs_super->s_bdev); |
579 | 579 | ||
580 | if (sb && !IS_ERR(sb)) { | 580 | if (sb && !IS_ERR(sb)) { |
581 | xfs_force_shutdown(mp, XFS_FORCE_UMOUNT); | 581 | xfs_force_shutdown(mp, SHUTDOWN_FORCE_UMOUNT); |
582 | thaw_bdev(sb->s_bdev, sb); | 582 | thaw_bdev(sb->s_bdev, sb); |
583 | } | 583 | } |
584 | 584 | ||
585 | break; | 585 | break; |
586 | } | 586 | } |
587 | case XFS_FSOP_GOING_FLAGS_LOGFLUSH: | 587 | case XFS_FSOP_GOING_FLAGS_LOGFLUSH: |
588 | xfs_force_shutdown(mp, XFS_FORCE_UMOUNT); | 588 | xfs_force_shutdown(mp, SHUTDOWN_FORCE_UMOUNT); |
589 | break; | 589 | break; |
590 | case XFS_FSOP_GOING_FLAGS_NOLOGFLUSH: | 590 | case XFS_FSOP_GOING_FLAGS_NOLOGFLUSH: |
591 | xfs_force_shutdown(mp, XFS_FORCE_UMOUNT|XFS_LOG_IO_ERROR); | 591 | xfs_force_shutdown(mp, |
592 | SHUTDOWN_FORCE_UMOUNT | SHUTDOWN_LOG_IO_ERROR); | ||
592 | break; | 593 | break; |
593 | default: | 594 | default: |
594 | return XFS_ERROR(EINVAL); | 595 | return XFS_ERROR(EINVAL); |