All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kara <jack@suse.cz>
To: LKML <linux-kernel@vger.kernel.org>
Cc: hch@lst.de, linux-fsdevel@vger.kernel.org,
	Jan Kara <jack@suse.cz>,
	linux-ext4@vger.kernel.org
Subject: [PATCH 09/17] ext3: Remove syncing logic from ext3_file_write
Date: Fri, 21 Aug 2009 19:23:59 +0200	[thread overview]
Message-ID: <1250875447-15622-10-git-send-email-jack@suse.cz> (raw)
In-Reply-To: <1250875447-15622-1-git-send-email-jack@suse.cz>

Syncing is now properly done by generic_file_aio_write() so no special logic is
needed in ext3.

CC: linux-ext4@vger.kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
---
 fs/ext3/file.c |   61 +-------------------------------------------------------
 1 files changed, 1 insertions(+), 60 deletions(-)

diff --git a/fs/ext3/file.c b/fs/ext3/file.c
index 5b49704..51fee5f 100644
--- a/fs/ext3/file.c
+++ b/fs/ext3/file.c
@@ -51,71 +51,12 @@ static int ext3_release_file (struct inode * inode, struct file * filp)
 	return 0;
 }
 
-static ssize_t
-ext3_file_write(struct kiocb *iocb, const struct iovec *iov,
-		unsigned long nr_segs, loff_t pos)
-{
-	struct file *file = iocb->ki_filp;
-	struct inode *inode = file->f_path.dentry->d_inode;
-	ssize_t ret;
-	int err;
-
-	ret = generic_file_aio_write(iocb, iov, nr_segs, pos);
-
-	/*
-	 * Skip flushing if there was an error, or if nothing was written.
-	 */
-	if (ret <= 0)
-		return ret;
-
-	/*
-	 * If the inode is IS_SYNC, or is O_SYNC and we are doing data
-	 * journalling then we need to make sure that we force the transaction
-	 * to disk to keep all metadata uptodate synchronously.
-	 */
-	if (file->f_flags & O_SYNC) {
-		/*
-		 * If we are non-data-journaled, then the dirty data has
-		 * already been flushed to backing store by generic_osync_inode,
-		 * and the inode has been flushed too if there have been any
-		 * modifications other than mere timestamp updates.
-		 *
-		 * Open question --- do we care about flushing timestamps too
-		 * if the inode is IS_SYNC?
-		 */
-		if (!ext3_should_journal_data(inode))
-			return ret;
-
-		goto force_commit;
-	}
-
-	/*
-	 * So we know that there has been no forced data flush.  If the inode
-	 * is marked IS_SYNC, we need to force one ourselves.
-	 */
-	if (!IS_SYNC(inode))
-		return ret;
-
-	/*
-	 * Open question #2 --- should we force data to disk here too?  If we
-	 * don't, the only impact is that data=writeback filesystems won't
-	 * flush data to disk automatically on IS_SYNC, only metadata (but
-	 * historically, that is what ext2 has done.)
-	 */
-
-force_commit:
-	err = ext3_force_commit(inode->i_sb);
-	if (err)
-		return err;
-	return ret;
-}
-
 const struct file_operations ext3_file_operations = {
 	.llseek		= generic_file_llseek,
 	.read		= do_sync_read,
 	.write		= do_sync_write,
 	.aio_read	= generic_file_aio_read,
-	.aio_write	= ext3_file_write,
+	.aio_write	= generic_file_aio_write,
 	.unlocked_ioctl	= ext3_ioctl,
 #ifdef CONFIG_COMPAT
 	.compat_ioctl	= ext3_compat_ioctl,
-- 
1.6.0.2


  parent reply	other threads:[~2009-08-21 17:28 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-21 17:23 [PATCH 0/17] Make O_SYNC handling use standard syncing path (Version 2) Jan Kara
2009-08-21 17:23 ` [PATCH 01/17] vfs: Introduce filemap_fdatawait_range Jan Kara
2009-08-21 17:23 ` [PATCH 02/17] vfs: Export __generic_file_aio_write() and add some comments Jan Kara
2009-08-21 17:23   ` [Ocfs2-devel] " Jan Kara
2009-08-21 17:23   ` Jan Kara
2009-08-21 17:23 ` [PATCH 03/17] vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() Jan Kara
2009-08-21 17:23   ` [Ocfs2-devel] " Jan Kara
2009-08-21 17:23   ` Jan Kara
2009-08-21 17:23   ` Jan Kara
2009-08-21 17:23 ` [PATCH 04/17] pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolock Jan Kara
2009-08-21 17:23 ` [PATCH 05/17] ocfs2: " Jan Kara
2009-08-21 17:23   ` [Ocfs2-devel] " Jan Kara
2009-08-21 17:23   ` Jan Kara
2009-08-25 18:58   ` Joel Becker
2009-08-25 18:58     ` [Ocfs2-devel] " Joel Becker
2009-08-25 18:58     ` Joel Becker
2009-08-21 17:23 ` [PATCH 06/17] vfs: Rename generic_file_aio_write_nolock Jan Kara
2009-08-21 17:30   ` Christoph Hellwig
2009-08-21 17:56     ` Jan Kara
2009-08-21 18:07       ` Christoph Hellwig
2009-08-21 17:23 ` [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Jan Kara
2009-08-21 17:24   ` [Ocfs2-devel] " Jan Kara
2009-08-21 17:23   ` Jan Kara
2009-08-27 17:35   ` Christoph Hellwig
2009-08-27 17:35     ` [Ocfs2-devel] " Christoph Hellwig
2009-08-27 17:35     ` Christoph Hellwig
2009-08-30 16:35     ` Jamie Lokier
2009-08-30 16:36       ` [Ocfs2-devel] " Jamie Lokier
2009-08-30 16:35       ` Jamie Lokier
2009-08-30 16:39       ` Christoph Hellwig
2009-08-30 16:40         ` [Ocfs2-devel] " Christoph Hellwig
2009-08-30 16:39         ` Christoph Hellwig
2009-08-30 17:29         ` Jamie Lokier
2009-08-30 17:30           ` [Ocfs2-devel] " Jamie Lokier
2009-08-30 17:29           ` Jamie Lokier
2009-08-21 17:23 ` [PATCH 08/17] ext2: Update comment about generic_osync_inode Jan Kara
2009-08-21 17:23 ` Jan Kara [this message]
2009-08-21 17:24 ` [PATCH 10/17] ext4: Remove syncing logic from ext4_file_write Jan Kara
2009-08-21 17:24 ` [PATCH 11/17] ntfs: Use new syncing helpers and update comments Jan Kara
2009-08-21 17:24 ` [PATCH 12/17] ocfs2: Update syncing after splicing to match generic version Jan Kara
2009-08-21 17:24   ` [Ocfs2-devel] " Jan Kara
2009-08-21 17:24   ` Jan Kara
2009-08-24 18:35   ` [Ocfs2-devel] " Mark Fasheh
2009-08-24 18:35     ` Mark Fasheh
2009-08-24 18:40     ` Joel Becker
2009-08-24 18:40       ` Joel Becker
2009-08-25 13:13       ` Jan Kara
2009-08-25 13:13         ` Jan Kara
2009-08-21 17:24 ` [PATCH 13/17] xfs: Convert sync_page_range() to simple fdatawrite_range() Jan Kara
2009-08-21 17:24   ` Jan Kara
2009-08-21 17:28   ` Christoph Hellwig
2009-08-21 17:28     ` Christoph Hellwig
2009-08-21 17:59     ` Jan Kara
2009-08-21 17:59       ` Jan Kara
2009-08-21 17:24 ` [PATCH 14/17] pohmelfs: Use new syncing helper Jan Kara
2009-08-21 17:24 ` [PATCH 15/17] nfs: Remove reference to generic_osync_inode from a comment Jan Kara
2009-08-21 17:52   ` Trond Myklebust
2009-08-21 17:52     ` Trond Myklebust
2009-08-21 17:24 ` [PATCH 16/17] fat: Opencode sync_page_range_nolock() Jan Kara
2009-08-21 17:24 ` [PATCH 17/17] vfs: Remove generic_osync_inode() and sync_page_range{_nolock}() Jan Kara
2009-08-22 16:27 ` [PATCH 0/17] Make O_SYNC handling use standard syncing path (Version 2) Jamie Lokier
2009-08-24  9:29   ` Jan Kara
  -- strict thread matches above, loose matches on Subject: below --
2009-08-21 16:59 [PATCH 01/17] vfs: Introduce filemap_fdatawait_range Jan Kara
2009-08-21 16:59 ` [PATCH 09/17] ext3: Remove syncing logic from ext3_file_write Jan Kara
2009-08-19 16:04 [PATCH 0/17] Make O_SYNC handling use standard syncing path Jan Kara
2009-08-19 16:04 ` [PATCH 09/17] ext3: Remove syncing logic from ext3_file_write Jan Kara

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1250875447-15622-10-git-send-email-jack@suse.cz \
    --to=jack@suse.cz \
    --cc=hch@lst.de \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.