From patchwork Sat Mar 10 08:18:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chengguang Xu X-Patchwork-Id: 10273297 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 469FB601A0 for ; Sat, 10 Mar 2018 08:18:35 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2A8F929B7D for ; Sat, 10 Mar 2018 08:18:35 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0DB6929BE0; Sat, 10 Mar 2018 08:18:35 +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,FREEMAIL_FROM, 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 69C6629B7D for ; Sat, 10 Mar 2018 08:18:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751478AbeCJISb (ORCPT ); Sat, 10 Mar 2018 03:18:31 -0500 Received: from mout.gmx.net ([212.227.17.21]:37771 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750829AbeCJISa (ORCPT ); Sat, 10 Mar 2018 03:18:30 -0500 Received: from juanniu018037.ss.mogujie.org ([122.225.81.134]) by mail.gmx.com (mrgmx101 [212.227.17.174]) with ESMTPSA (Nemesis) id 0MVZuV-1fALHT1OD1-00Z2N3; Sat, 10 Mar 2018 09:18:25 +0100 From: Chengguang Xu To: zyan@redhat.com, idryomov@gmail.com Cc: ceph-devel@vger.kernel.org, Chengguang Xu Subject: [PATCH] ceph: sync metadata when having I_DIRTY_DATASYNC flag in fdatasync Date: Sat, 10 Mar 2018 16:18:19 +0800 Message-Id: <1520669899-239998-1-git-send-email-cgxu519@gmx.com> X-Mailer: git-send-email 1.8.3.1 X-Provags-ID: V03:K0:dLdDFLwPOUm4qHcMntL2Ydp2bTc85pwVGtM1w9w7kjaN22OPqsA vpmPYNx20HXFpMmcvVtWLUqasDl+qcQlO2PiNnVSOECqkvdAEgxX411oqb1XufgDGvQTo2X GH8/mT1lJHmuzH2+LB31ymsuBag1jZmgTKH9KfMMNubD5LfY7DM1cg+gQBLNbbLrrBbnHb2 uBiw696wVNiEdk+w5QofQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:taRcHkYh3RM=:xr+MCqHU7jxUqY4yoWN9Og diQkBQx4zQkMgs7uXI5K1Y0A+xEA/GRjSwCW9Fi8C1/d2bJ3CaOCDqHdlBMV6CiMQzF2D91cY nwQOwsxzUQqF+ifzwtK5OlzqINvzWK3Dd5azEqktyjlrN+id3voqwF1YUh9puc8eyXqqFmZ+J wP1EHQkUF2/rycU+1hTNsbwzgptYTAvaMcPKvlYfoI0Hatfy79ZwkrjcaLEaHbpTG2NO/Qvga HMGdeHi8LNxI0CPQiEwHT6X0cqTIELf9YJV6usiWiup4g7qT7PlvffUAF7EZavAHgHHyTfXAM vIgPhz+R612pYqxunYGBoQGMgGO4aSkZgMvBXBR4aIAlqFQUvRemSAvrDVrR/uH/9VZUhniaU +DnBVOa/lVszb5ozmTOXrQqrfRShLaOHrmKZAbYGOUiMbd1W6g+NsCU3+e/N8FaG268V0RZ3l rEYRPB0hrGtDynw8ya4Py+Y1l9m/RvAa841We2YiPbLnGKgMwwOxMD0J3TnAbCg9VjFLZTPq1 kB31zaOgQPHy9h1nSMTyVciLxfPQKNFRNgZWIRs4Oy6R4kfjPkAkjqsLoBY15TIV0VX21iXxJ IU4BRVzUbgowR/qMI8G4rFiJFcoM5KHJVvFrlZyp3cZeRjdQ16hKw23qqnUPfI+0DvbNdl501 LE6dQkwhFbS/UBwBFxMUvikAqivrgybVt7T/Cg8ff9tiVktKgmkgTd84nv26l5htkpc+k3wjr 24uIjfW2B688binKm1TZG1DA/dFB2+ZE4bhY1560lp9GF4HYkgvZoZu+wtbOpUeZ3nzQbogGv u69qTUEDns0iPwbg7Y2hYn6zHufdg== Sender: ceph-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: ceph-devel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP When inode marks flag I_DIRTY_DATASYNC, even if fdatasync should sync essential metadata. Signed-off-by: Chengguang Xu --- fs/ceph/caps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index 0e5bd3e..6e08abb 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c @@ -2170,7 +2170,7 @@ int ceph_fsync(struct file *file, loff_t start, loff_t end, int datasync) if (ret < 0) goto out; - if (datasync) + if (datasync && !(inode->i_state & I_DIRTY_DATASYNC)) goto out; inode_lock(inode);