From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 8 Feb 2016 08:55:34 -0700 From: Ross Zwisler To: Christoph Hellwig Cc: Ross Zwisler , Jan Kara , Dan Williams , Dave Chinner , Matthew Wilcox , "linux-kernel@vger.kernel.org" , Alexander Viro , Andrew Morton , Jan Kara , linux-fsdevel , linux-nvdimm Subject: Re: [PATCH 2/2] dax: fix bdev NULL pointer dereferences Message-ID: <20160208155534.GD2343@linux.intel.com> References: <20160202111723.GD12574@quack.suse.cz> <20160202164642.GE12574@quack.suse.cz> <20160202173456.GB23963@linux.intel.com> <20160203104611.GF12574@quack.suse.cz> <20160204195619.GA31860@linux.intel.com> <20160204202957.GB6895@quack.suse.cz> <20160205222500.GA15463@linux.intel.com> <20160207083814.GA695@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160207083814.GA695@infradead.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: On Sun, Feb 07, 2016 at 12:38:14AM -0800, Christoph Hellwig wrote: > On Fri, Feb 05, 2016 at 03:25:00PM -0700, Ross Zwisler wrote: > > According to the standard specification (e.g., POSIX.1-2001), sync() > > schedules the writes, but may return before the actual writing > > is done. However, since version 1.3.20 Linux does actually wait. > > (This still does not guarantee data integrity: modern disks have large > > caches.) > > > > Based on this I don't believe that it is a requirement that sync and syncfs > > actually flush the data durably to media before they return - they just need > > to make sure it has been sent to the device, which is always true for all > > writes PMEM via DAX, even without any calls to dax_writeback_mapping_range(). > > For Linux there is a requirement to not return before the data is on disk, > and our users rely on it. The man page is rather confusing, and I'll see > if I can fix it up. Okay, thank you for the clarification. :)