[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120103120632.a43a2ab50ac747093bbb2f5f@canb.auug.org.au>
Date: Tue, 3 Jan 2012 12:06:32 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: David Chinner <david@...morbit.com>, xfs-masters@....sgi.com
Cc: linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
Christoph Hellwig <hch@...radead.org>, Ben Myers <bpm@....com>
Subject: linux-next: manual merge of the xfs tree with Linus' tree
Hi all,
Today's linux-next merge of the xfs tree got a conflict in
fs/xfs/xfs_sync.c between commit be4f1ac82877 ("xfs: log all dirty inodes
in xfs_fs_sync_fs") from the tree and commit 34625c661b01 ("xfs: remove
xfs_qm_sync") from the xfs tree.
Just context changes. I fixed it up (see below) and can carry the fix as
necessary.
--
Cheers,
Stephen Rothwell sfr@...b.auug.org.au
diff --cc fs/xfs/xfs_sync.c
index f0994aedc,5b9ec37..0000000
--- a/fs/xfs/xfs_sync.c
+++ b/fs/xfs/xfs_sync.c
@@@ -385,20 -359,7 +385,17 @@@ xfs_quiesce_data
{
int error, error2 = 0;
+ /*
+ * Log all pending size and timestamp updates. The vfs writeback
+ * code is supposed to do this, but due to its overagressive
+ * livelock detection it will skip inodes where appending writes
+ * were written out in the first non-blocking sync phase if their
+ * completion took long enough that it happened after taking the
+ * timestamp for the cut-off in the blocking phase.
+ */
+ xfs_inode_ag_iterator(mp, xfs_log_dirty_inode, 0);
+
- xfs_qm_sync(mp, SYNC_TRYLOCK);
- xfs_qm_sync(mp, SYNC_WAIT);
-
- /* force out the newly dirtied log buffers */
+ /* force out the log */
xfs_log_force(mp, XFS_LOG_SYNC);
/* write superblock and hoover up shutdown errors */
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists