From patchwork Mon Aug 8 06:22:30 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Chinner X-Patchwork-Id: 9266757 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id DD036607D6 for ; Mon, 8 Aug 2016 06:23:03 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CB0D9279B3 for ; Mon, 8 Aug 2016 06:23:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BFDD727BFC; Mon, 8 Aug 2016 06:23:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7EC7C279B3 for ; Mon, 8 Aug 2016 06:23:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751320AbcHHGXC (ORCPT ); Mon, 8 Aug 2016 02:23:02 -0400 Received: from ipmail06.adl2.internode.on.net ([150.101.137.129]:43979 "EHLO ipmail06.adl2.internode.on.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751804AbcHHGXA (ORCPT ); Mon, 8 Aug 2016 02:23:00 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AucSAAgkqFd5LDUCIGdsb2JhbABdg0WBUoZynRcGkEiCKYtbTQEBAQEBAQcBAQEBAQE4QIRfBicvIxAIGDE5AwcUGYgwwxWFYoohhQ8FmTmPDI9BSI9kghUBC4I/KjKHPwEBAQ Received: from ppp121-44-53-2.lns20.syd4.internode.on.net (HELO dastard) ([121.44.53.2]) by ipmail06.adl2.internode.on.net with ESMTP; 08 Aug 2016 15:52:57 +0930 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from ) id 1bWdxf-0001GH-Qd; Mon, 08 Aug 2016 16:22:55 +1000 Received: from dave by disappointment with local (Exim 4.87) (envelope-from ) id 1bWdxJ-0007Ja-IB; Mon, 08 Aug 2016 16:22:33 +1000 From: Dave Chinner To: xfs@oss.sgi.com Cc: linux-fsdevel@vger.kernel.org Subject: [PATCH 1/2] iomap: fiemap should honor the FIEMAP_FLAG_SYNC flag Date: Mon, 8 Aug 2016 16:22:30 +1000 Message-Id: <1470637351-27933-2-git-send-email-david@fromorbit.com> X-Mailer: git-send-email 2.8.0.rc3 In-Reply-To: <1470637351-27933-1-git-send-email-david@fromorbit.com> References: <1470637351-27933-1-git-send-email-david@fromorbit.com> Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Dave Chinner The flag is checked as supported, but then we do an unconditional sync of the file, regardless of whether the flag is set or not. Make the sync conditional on having the FIEMAP_FLAG_SYNC flag set. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig --- fs/iomap.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/fs/iomap.c b/fs/iomap.c index 48141b8..189742b 100644 --- a/fs/iomap.c +++ b/fs/iomap.c @@ -470,9 +470,11 @@ int iomap_fiemap(struct inode *inode, struct fiemap_extent_info *fi, if (ret) return ret; - ret = filemap_write_and_wait(inode->i_mapping); - if (ret) - return ret; + if (fi->fi_flags & FIEMAP_FLAG_SYNC) { + ret = filemap_write_and_wait(inode->i_mapping); + if (ret) + return ret; + } while (len > 0) { ret = iomap_apply(inode, start, len, 0, ops, &ctx,