[PATCH v1 8/8] Make the sync path drain dentries and inodes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When calling sync(2), we should be flushing any pending dputs and iputs so that
any pending deletes are finalized and the metadata updated.

This patch requires more work as it's unclear whether any iput()s in this path
need to be flushed (synchronously?) or not.

Signed-off-by: Mike Waychison <mikew@xxxxxxxxxx>
---

 fs/sync.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/fs/sync.c b/fs/sync.c
index ac02b56..5a595ad 100644
--- a/fs/sync.c
+++ b/fs/sync.c
@@ -23,6 +23,11 @@
  */
 static void do_sync(unsigned long wait)
 {
+	/*
+	 * Begin by making sure that we've flushed out any pending dput()s and
+	 * iput()s.
+	 */
+	dput_drain_all();
 	wakeup_pdflush(0);
 	sync_inodes(0);		/* All mappings, inodes and their blockdevs */
 	DQUOT_SYNC(NULL);

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux