xfs
[Top] [All Lists]

[PATCH 1/2] kill xfs_freeze

To: xfs@xxxxxxxxxxx
Subject: [PATCH 1/2] kill xfs_freeze
From: Christoph Hellwig <hch@xxxxxx>
Date: Tue, 25 Sep 2007 21:45:28 +0200
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.3.28i
No need to have a wrapper just two call two more functions.


Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_super.c     2007-09-23 
13:54:35.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c  2007-09-23 13:56:12.000000000 
+0200
@@ -41,6 +41,7 @@
 #include "xfs_rtalloc.h"
 #include "xfs_error.h"
 #include "xfs_itable.h"
+#include "xfs_fsops.h"
 #include "xfs_rw.h"
 #include "xfs_acl.h"
 #include "xfs_attr.h"
@@ -684,11 +685,19 @@ xfs_fs_remount(
        return -error;
 }
 
+/*
+ * Second stage of a freeze. The data is already frozen so we only
+ * need to take care of themetadata. Once that's done write a dummy
+ * record to dirty the log in case of a crash while frozen.
+ */
 STATIC void
 xfs_fs_lockfs(
        struct super_block      *sb)
 {
-       xfs_freeze(XFS_M(sb));
+       struct xfs_mount        *mp = XFS_M(sb);
+
+       xfs_attr_quiesce(mp);
+       xfs_fs_log_dummy(mp);
 }
 
 STATIC int
Index: linux-2.6-xfs/fs/xfs/xfs_vfsops.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_vfsops.c      2007-09-23 13:54:35.000000000 
+0200
+++ linux-2.6-xfs/fs/xfs/xfs_vfsops.c   2007-09-23 13:56:12.000000000 +0200
@@ -692,7 +692,7 @@ xfs_quiesce_fs(
  * care of the metadata. New transactions are already blocked, so we need to
  * wait for any remaining transactions to drain out before proceding.
  */
-STATIC void
+void
 xfs_attr_quiesce(
        xfs_mount_t     *mp)
 {
Index: linux-2.6-xfs/fs/xfs/xfs_vfsops.h
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_vfsops.h      2007-09-23 13:56:16.000000000 
+0200
+++ linux-2.6-xfs/fs/xfs/xfs_vfsops.h   2007-09-23 13:56:34.000000000 +0200
@@ -21,8 +21,8 @@ int xfs_vget(struct xfs_mount *mp, bhv_v
 int xfs_parseargs(struct xfs_mount *mp, char *options,
                struct xfs_mount_args *args, int update);
 int xfs_showargs(struct xfs_mount *mp, struct seq_file *m);
-void xfs_freeze(struct xfs_mount *mp);
 void xfs_do_force_shutdown(struct xfs_mount *mp, int flags, char *fname,
                int lnnum);
+void xfs_attr_quiesce(struct xfs_mount *mp);
 
 #endif /* _XFS_VFSOPS_H */


<Prev in Thread] Current Thread [Next in Thread>