From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755415AbcBHPz7 (ORCPT ); Mon, 8 Feb 2016 10:55:59 -0500 Received: from mga02.intel.com ([134.134.136.20]:47827 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754669AbcBHPzz (ORCPT ); Mon, 8 Feb 2016 10:55:55 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,416,1449561600"; d="scan'208";a="898695530" 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> Mail-Followup-To: Ross Zwisler , Christoph Hellwig , Jan Kara , Dan Williams , Dave Chinner , Matthew Wilcox , "linux-kernel@vger.kernel.org" , Alexander Viro , Andrew Morton , Jan Kara , linux-fsdevel , linux-nvdimm 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> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. :)