From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org ([198.137.202.9]:47341 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755794AbcKBO1r (ORCPT ); Wed, 2 Nov 2016 10:27:47 -0400 Date: Wed, 2 Nov 2016 07:27:46 -0700 From: Christoph Hellwig To: Jan Kara Cc: linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, Dave Chinner , Ted Tso , linux-nvdimm@ml01.01.org Subject: Re: [PATCH 02/11] ext4: Allow unaligned unlocked DAX IO Message-ID: <20161102142746.GA18387@infradead.org> References: <1478034381-19037-1-git-send-email-jack@suse.cz> <1478034381-19037-3-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1478034381-19037-3-git-send-email-jack@suse.cz> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Tue, Nov 01, 2016 at 10:06:12PM +0100, Jan Kara wrote: > Currently we don't allow unaligned writes without inode_lock. This is > because zeroing of partial blocks could cause data corruption for racing > unaligned writes to the same block. However DAX handles zeroing during > block allocation and thus zeroing of partial blocks cannot race. Allow > DAX unaligned IO to run without inode_lock. DAX writes should always take the inode lock. Without that you break the expectations of existing applications that did not specify O_DIRECT.