diff options
-rw-r--r-- | fs/xfs/linux-2.6/xfs_super.c | 11 | ||||
-rw-r--r-- | fs/xfs/xfs_vfsops.c | 15 | ||||
-rw-r--r-- | fs/xfs/xfs_vfsops.h | 2 |
3 files changed, 12 insertions, 16 deletions
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c index c0549737f7ea..c430b44dde4b 100644 --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c | |||
@@ -41,6 +41,7 @@ | |||
41 | #include "xfs_rtalloc.h" | 41 | #include "xfs_rtalloc.h" |
42 | #include "xfs_error.h" | 42 | #include "xfs_error.h" |
43 | #include "xfs_itable.h" | 43 | #include "xfs_itable.h" |
44 | #include "xfs_fsops.h" | ||
44 | #include "xfs_rw.h" | 45 | #include "xfs_rw.h" |
45 | #include "xfs_acl.h" | 46 | #include "xfs_acl.h" |
46 | #include "xfs_attr.h" | 47 | #include "xfs_attr.h" |
@@ -738,11 +739,19 @@ xfs_fs_remount( | |||
738 | return -error; | 739 | return -error; |
739 | } | 740 | } |
740 | 741 | ||
742 | /* | ||
743 | * Second stage of a freeze. The data is already frozen so we only | ||
744 | * need to take care of themetadata. Once that's done write a dummy | ||
745 | * record to dirty the log in case of a crash while frozen. | ||
746 | */ | ||
741 | STATIC void | 747 | STATIC void |
742 | xfs_fs_lockfs( | 748 | xfs_fs_lockfs( |
743 | struct super_block *sb) | 749 | struct super_block *sb) |
744 | { | 750 | { |
745 | xfs_freeze(XFS_M(sb)); | 751 | struct xfs_mount *mp = XFS_M(sb); |
752 | |||
753 | xfs_attr_quiesce(mp); | ||
754 | xfs_fs_log_dummy(mp); | ||
746 | } | 755 | } |
747 | 756 | ||
748 | STATIC int | 757 | STATIC int |
diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c index 1249548aa12e..fd4a0dfc599f 100644 --- a/fs/xfs/xfs_vfsops.c +++ b/fs/xfs/xfs_vfsops.c | |||
@@ -692,7 +692,7 @@ xfs_quiesce_fs( | |||
692 | * care of the metadata. New transactions are already blocked, so we need to | 692 | * care of the metadata. New transactions are already blocked, so we need to |
693 | * wait for any remaining transactions to drain out before proceding. | 693 | * wait for any remaining transactions to drain out before proceding. |
694 | */ | 694 | */ |
695 | STATIC void | 695 | void |
696 | xfs_attr_quiesce( | 696 | xfs_attr_quiesce( |
697 | xfs_mount_t *mp) | 697 | xfs_mount_t *mp) |
698 | { | 698 | { |
@@ -1902,16 +1902,3 @@ xfs_showargs( | |||
1902 | seq_puts(m, "," MNTOPT_DMAPI); | 1902 | seq_puts(m, "," MNTOPT_DMAPI); |
1903 | return 0; | 1903 | return 0; |
1904 | } | 1904 | } |
1905 | |||
1906 | /* | ||
1907 | * Second stage of a freeze. The data is already frozen so we only | ||
1908 | * need to take care of themetadata. Once that's done write a dummy | ||
1909 | * record to dirty the log in case of a crash while frozen. | ||
1910 | */ | ||
1911 | void | ||
1912 | xfs_freeze( | ||
1913 | xfs_mount_t *mp) | ||
1914 | { | ||
1915 | xfs_attr_quiesce(mp); | ||
1916 | xfs_fs_log_dummy(mp); | ||
1917 | } | ||
diff --git a/fs/xfs/xfs_vfsops.h b/fs/xfs/xfs_vfsops.h index ce3eb9454de4..38ed10397e07 100644 --- a/fs/xfs/xfs_vfsops.h +++ b/fs/xfs/xfs_vfsops.h | |||
@@ -19,8 +19,8 @@ int xfs_vget(struct xfs_mount *mp, bhv_vnode_t **vpp, struct xfs_fid *xfid); | |||
19 | int xfs_parseargs(struct xfs_mount *mp, char *options, | 19 | int xfs_parseargs(struct xfs_mount *mp, char *options, |
20 | struct xfs_mount_args *args, int update); | 20 | struct xfs_mount_args *args, int update); |
21 | int xfs_showargs(struct xfs_mount *mp, struct seq_file *m); | 21 | int xfs_showargs(struct xfs_mount *mp, struct seq_file *m); |
22 | void xfs_freeze(struct xfs_mount *mp); | ||
23 | void xfs_do_force_shutdown(struct xfs_mount *mp, int flags, char *fname, | 22 | void xfs_do_force_shutdown(struct xfs_mount *mp, int flags, char *fname, |
24 | int lnnum); | 23 | int lnnum); |
24 | void xfs_attr_quiesce(struct xfs_mount *mp); | ||
25 | 25 | ||
26 | #endif /* _XFS_VFSOPS_H */ | 26 | #endif /* _XFS_VFSOPS_H */ |