From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: [PATCH 3/3] ubifs: remove manual O_SYNC handling Date: Wed, 30 Sep 2009 22:17:16 +0200 Message-ID: <20090930201716.GD18503@lst.de> References: <20090930201608.GA18503@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org, dhowells@redhat.com, dedekind@infradead.org To: jack@suse.cz Return-path: Received: from verein.lst.de ([213.95.11.210]:34013 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751222AbZI3UR3 (ORCPT ); Wed, 30 Sep 2009 16:17:29 -0400 Content-Disposition: inline In-Reply-To: <20090930201608.GA18503@lst.de> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: generic_file_aio_write already calls into ->fsync to handle O_SYNC/O_DSYNC. Remove the duplicate call to ubifs_sync_wbufs_by_inode which is already covered by ubifs_fsync. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/ubifs/file.c =================================================================== --- linux-2.6.orig/fs/ubifs/file.c 2009-09-30 14:01:26.046278266 -0300 +++ linux-2.6/fs/ubifs/file.c 2009-09-30 14:02:16.850272504 -0300 @@ -1389,7 +1389,6 @@ static ssize_t ubifs_aio_write(struct ki unsigned long nr_segs, loff_t pos) { int err; - ssize_t ret; struct inode *inode = iocb->ki_filp->f_mapping->host; struct ubifs_info *c = inode->i_sb->s_fs_info; @@ -1397,17 +1396,7 @@ static ssize_t ubifs_aio_write(struct ki if (err) return err; - ret = generic_file_aio_write(iocb, iov, nr_segs, pos); - if (ret < 0) - return ret; - - if (ret > 0 && (IS_SYNC(inode) || iocb->ki_filp->f_flags & O_DSYNC)) { - err = ubifs_sync_wbufs_by_inode(c, inode); - if (err) - return err; - } - - return ret; + return generic_file_aio_write(iocb, iov, nr_segs, pos); } static int ubifs_set_page_dirty(struct page *page)