From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de ([195.135.220.15]:40535 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751375AbcJCO6F (ORCPT ); Mon, 3 Oct 2016 10:58:05 -0400 Date: Mon, 3 Oct 2016 16:58:02 +0200 From: Jan Kara To: Dave Chinner Cc: Jan Kara , linux-fsdevel@vger.kernel.org, linux-nvdimm@lists.01.org, Dan Williams , Ross Zwisler Subject: Re: [PATCH 6/6] dax: Avoid page invalidation races and unnecessary radix tree traversals Message-ID: <20161003145802.GD14183@quack2.suse.cz> References: <1474994615-29553-1-git-send-email-jack@suse.cz> <1474994615-29553-7-git-send-email-jack@suse.cz> <20160928002034.GF9806@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160928002034.GF9806@dastard> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Wed 28-09-16 10:20:34, Dave Chinner wrote: > On Tue, Sep 27, 2016 at 06:43:35PM +0200, Jan Kara wrote: > > @@ -1410,6 +1422,17 @@ iomap_dax_actor(struct inode *inode, loff_t pos, loff_t length, void *data, > > if (WARN_ON_ONCE(iomap->type != IOMAP_MAPPED)) > > return -EIO; > > > > + /* > > + * Write can allocate block for an area which has a hole page mapped > > + * into page tables. We have to tear down these mappings so that data > > + * written by write(2) is visible in mmap. > > + */ > > + if (iomap->flags & IOMAP_F_NEW && inode->i_mapping->nrpages) { > > gcc should be throwing warnings about that: > > if ((iomap->flags & IOMAP_F_NEW) && inode->i_mapping->nrpages) { Actually the bitwise '&' takes precedense over the logical '&&' so the evaluation order ends up being correct. But I agree it's better to be explicit with parenthesis here. Fixed. Honza -- Jan Kara SUSE Labs, CR