[{"id":1766709,"web_url":"http://patchwork.ozlabs.org/comment/1766709/","msgid":"<20170912064612.GD16554@quack2.suse.cz>","list_archive_url":null,"date":"2017-09-12T06:46:12","subject":"Re: [PATCH v2 4/5] ext4: add ext4_should_use_dax()","submitter":{"id":363,"url":"http://patchwork.ozlabs.org/api/people/363/","name":"Jan Kara","email":"jack@suse.cz"},"content":"On Mon 11-09-17 23:05:25, Ross Zwisler wrote:\n> This helper, in the spirit of ext4_should_dioread_nolock() et al., replaces\n> the complex conditional in ext4_set_inode_flags().\n> \n> Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>\n\nYeah, makes sense to me. You can add:\n\nReviewed-by: Jan Kara <jack@suse.cz>\n\n\t\t\t\t\t\t\t\tHonza\n\n> ---\n>  fs/ext4/inode.c | 19 ++++++++++++++++---\n>  1 file changed, 16 insertions(+), 3 deletions(-)\n> \n> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c\n> index 3207333..525dd63 100644\n> --- a/fs/ext4/inode.c\n> +++ b/fs/ext4/inode.c\n> @@ -4577,6 +4577,21 @@ int ext4_get_inode_loc(struct inode *inode, struct ext4_iloc *iloc)\n>  \t\t!ext4_test_inode_state(inode, EXT4_STATE_XATTR));\n>  }\n>  \n> +static bool ext4_should_use_dax(struct inode *inode)\n> +{\n> +\tif (!test_opt(inode->i_sb, DAX))\n> +\t\treturn false;\n> +\tif (!S_ISREG(inode->i_mode))\n> +\t\treturn false;\n> +\tif (ext4_should_journal_data(inode))\n> +\t\treturn false;\n> +\tif (ext4_has_inline_data(inode))\n> +\t\treturn false;\n> +\tif (ext4_encrypted_inode(inode))\n> +\t\treturn false;\n> +\treturn true;\n> +}\n> +\n>  void ext4_set_inode_flags(struct inode *inode)\n>  {\n>  \tunsigned int flags = EXT4_I(inode)->i_flags;\n> @@ -4592,9 +4607,7 @@ void ext4_set_inode_flags(struct inode *inode)\n>  \t\tnew_fl |= S_NOATIME;\n>  \tif (flags & EXT4_DIRSYNC_FL)\n>  \t\tnew_fl |= S_DIRSYNC;\n> -\tif (test_opt(inode->i_sb, DAX) && S_ISREG(inode->i_mode) &&\n> -\t    !ext4_should_journal_data(inode) && !ext4_has_inline_data(inode) &&\n> -\t    !ext4_encrypted_inode(inode))\n> +\tif (ext4_should_use_dax(inode))\n>  \t\tnew_fl |= S_DAX;\n>  \tinode_set_flags(inode, new_fl,\n>  \t\t\tS_SYNC|S_APPEND|S_IMMUTABLE|S_NOATIME|S_DIRSYNC|S_DAX);\n> -- \n> 2.9.5\n>","headers":{"Return-Path":"<linux-ext4-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-ext4-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xrwLc4Fjnz9s4s\n\tfor <patchwork-incoming@ozlabs.org>;\n\tTue, 12 Sep 2017 16:46:32 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751153AbdILGqP (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 12 Sep 2017 02:46:15 -0400","from mx2.suse.de ([195.135.220.15]:49456 \"EHLO mx1.suse.de\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S1751036AbdILGqO (ORCPT <rfc822;linux-ext4@vger.kernel.org>);\n\tTue, 12 Sep 2017 02:46:14 -0400","from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id 644EAABC3;\n\tTue, 12 Sep 2017 06:46:13 +0000 (UTC)","by quack2.suse.cz (Postfix, from userid 1000)\n\tid F18601E3442; Tue, 12 Sep 2017 08:46:12 +0200 (CEST)"],"X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Tue, 12 Sep 2017 08:46:12 +0200","From":"Jan Kara <jack@suse.cz>","To":"Ross Zwisler <ross.zwisler@linux.intel.com>","Cc":"Theodore Ts'o <tytso@mit.edu>, Jan Kara <jack@suse.cz>,\n\tlinux-kernel@vger.kernel.org, Andreas Dilger <adilger.kernel@dilger.ca>,\n\tChristoph Hellwig <hch@lst.de>, Dan Williams <dan.j.williams@intel.com>,\n\tDave Chinner <david@fromorbit.com>, linux-ext4@vger.kernel.org,\n\tlinux-nvdimm@lists.01.org","Subject":"Re: [PATCH v2 4/5] ext4: add ext4_should_use_dax()","Message-ID":"<20170912064612.GD16554@quack2.suse.cz>","References":"<20170912050526.7627-1-ross.zwisler@linux.intel.com>\n\t<20170912050526.7627-5-ross.zwisler@linux.intel.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170912050526.7627-5-ross.zwisler@linux.intel.com>","User-Agent":"Mutt/1.5.24 (2015-08-30)","Sender":"linux-ext4-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-ext4.vger.kernel.org>","X-Mailing-List":"linux-ext4@vger.kernel.org"}},{"id":1785605,"web_url":"http://patchwork.ozlabs.org/comment/1785605/","msgid":"<20171012160128.qzmsttp7mw3c4q22@thunk.org>","list_archive_url":null,"date":"2017-10-12T16:01:28","subject":"Re: [PATCH v2 4/5] ext4: add ext4_should_use_dax()","submitter":{"id":350,"url":"http://patchwork.ozlabs.org/api/people/350/","name":"Theodore Tso","email":"tytso@mit.edu"},"content":"On Tue, Sep 12, 2017 at 08:46:12AM +0200, Jan Kara wrote:\n> On Mon 11-09-17 23:05:25, Ross Zwisler wrote:\n> > This helper, in the spirit of ext4_should_dioread_nolock() et al., replaces\n> > the complex conditional in ext4_set_inode_flags().\n> > \n> > Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>\n> \n> Yeah, makes sense to me. You can add:\n> \n> Reviewed-by: Jan Kara <jack@suse.cz>\n\nThanks, applied.\n\n\t\t\t\t\t- Ted","headers":{"Return-Path":"<linux-ext4-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-ext4-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=thunk.org header.i=@thunk.org\n\theader.b=\"PYe7VCK8\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3yCbFR70xPz9t2r\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri, 13 Oct 2017 03:01:47 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751682AbdJLQBe (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 12 Oct 2017 12:01:34 -0400","from imap.thunk.org ([74.207.234.97]:40264 \"EHLO imap.thunk.org\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1751040AbdJLQBd (ORCPT <rfc822;linux-ext4@vger.kernel.org>);\n\tThu, 12 Oct 2017 12:01:33 -0400","from root (helo=callcc.thunk.org)\n\tby imap.thunk.org with local-esmtp (Exim 4.89)\n\t(envelope-from <tytso@thunk.org>)\n\tid 1e2fvN-0006Eu-L7; Thu, 12 Oct 2017 16:01:29 +0000","by callcc.thunk.org (Postfix, from userid 15806)\n\tid DED9FC0033F; Thu, 12 Oct 2017 12:01:28 -0400 (EDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=thunk.org;\n\ts=ef5046eb;\n\th=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:\n\tSubject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID:\n\tContent-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc\n\t:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:\n\tList-Post:List-Owner:List-Archive;\n\tbh=ZnLw5J2R/s5I7iTLA2W05jbrY7Yj+lg6d/dF0EvFfLA=;\n\tb=PYe7VCK8hldW/GzpwuH80yblBL\n\tkPRtfZo8HchVOmaG/Hm7oJeY6AA2QD8bxOKV3tLfsriWNN17KjVewmJpxHzP0rq/m4ntkyu39ToAZ\n\tBhUsENMmjf1cwwfUuGLsQkab1r3/0I6yR/Yr9z2x/iaFTvGTgn92jCgSeDRyDaoO1g5M=;","Date":"Thu, 12 Oct 2017 12:01:28 -0400","From":"Theodore Ts'o <tytso@mit.edu>","To":"Jan Kara <jack@suse.cz>","Cc":"Ross Zwisler <ross.zwisler@linux.intel.com>,\n\tlinux-kernel@vger.kernel.org, Andreas Dilger <adilger.kernel@dilger.ca>,\n\tChristoph Hellwig <hch@lst.de>, Dan Williams <dan.j.williams@intel.com>,\n\tDave Chinner <david@fromorbit.com>, linux-ext4@vger.kernel.org,\n\tlinux-nvdimm@lists.01.org","Subject":"Re: [PATCH v2 4/5] ext4: add ext4_should_use_dax()","Message-ID":"<20171012160128.qzmsttp7mw3c4q22@thunk.org>","Mail-Followup-To":"Theodore Ts'o <tytso@mit.edu>, Jan Kara <jack@suse.cz>,\n\tRoss Zwisler <ross.zwisler@linux.intel.com>,\n\tlinux-kernel@vger.kernel.org,\n\tAndreas Dilger <adilger.kernel@dilger.ca>,\n\tChristoph Hellwig <hch@lst.de>,\n\tDan Williams <dan.j.williams@intel.com>,\n\tDave Chinner <david@fromorbit.com>, linux-ext4@vger.kernel.org,\n\tlinux-nvdimm@lists.01.org","References":"<20170912050526.7627-1-ross.zwisler@linux.intel.com>\n\t<20170912050526.7627-5-ross.zwisler@linux.intel.com>\n\t<20170912064612.GD16554@quack2.suse.cz>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170912064612.GD16554@quack2.suse.cz>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-SA-Exim-Connect-IP":"<locally generated>","X-SA-Exim-Mail-From":"tytso@thunk.org","X-SA-Exim-Scanned":"No (on imap.thunk.org); SAEximRunCond expanded to false","Sender":"linux-ext4-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-ext4.vger.kernel.org>","X-Mailing-List":"linux-ext4@vger.kernel.org"}}]