Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751595AbbEGUGc (ORCPT ); Thu, 7 May 2015 16:06:32 -0400 Received: from mail-lb0-f173.google.com ([209.85.217.173]:36052 "EHLO mail-lb0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751328AbbEGUGa (ORCPT ); Thu, 7 May 2015 16:06:30 -0400 MIME-Version: 1.0 In-Reply-To: <554BC4D8.9010507@nod.at> References: <1430949612-21356-1-git-send-email-zab@redhat.com> <20150507002617.GJ4327@dastard> <20150507172053.GA659@lenny.home.zabbo.net> <554BC4D8.9010507@nod.at> From: Andy Lutomirski Date: Thu, 7 May 2015 13:06:08 -0700 Message-ID: Subject: Re: [PATCH RFC] vfs: add a O_NOMTIME flag To: Richard Weinberger Cc: Zach Brown , Dave Chinner , Alexander Viro , Sage Weil , linux-fsdevel , LKML , "open list:ABI/API" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2163 Lines: 46 On Thu, May 7, 2015 at 1:02 PM, Richard Weinberger wrote: > Am 07.05.2015 um 21:53 schrieb Andy Lutomirski: >> On Thu, May 7, 2015 at 12:09 PM, Richard Weinberger >> wrote: >>> On Thu, May 7, 2015 at 7:20 PM, Zach Brown wrote: >>>> On Thu, May 07, 2015 at 10:26:17AM +1000, Dave Chinner wrote: >>>>> On Wed, May 06, 2015 at 03:00:12PM -0700, Zach Brown wrote: >>>>>> Add the O_NOMTIME flag which prevents mtime from being updated which can >>>>>> greatly reduce the IO overhead of writes to allocated and initialized >>>>>> regions of files. >>>>> >>>>> Hmmm. How do backup programs now work out if the file has changed >>>>> and hence needs copying again? ie. applications using this will >>>>> break other critical infrastructure in subtle ways. >>>> >>>> By using backup infrastructure that doesn't use cmtime. Like btrfs >>>> send/recv. Or application level backups that know how to do >>>> incrementals from metadata in giant database files, say, without >>>> walking, comparing, and copying the entire thing. >>> >>> But how can Joey random user know that some of his >>> applications are using O_NOMTIME and his KISS backup >>> program does no longer function as expected? >>> >> >> Joey random user can't have a working KISS backup anyway, though, >> because we screw up mtime updates on mmap writes. I have patches >> gathering dust that fix that, though. > > Hmmm, I thought mtime will be updated upon msync()? > Assuming a sane application is using msync()... > So would I. Unfortunately, mtime is updated on the page fault that makes an mmapped page writeable, thus guaranteeing that the resulting mtime is stale if you mmap a file, write to it, unmap it, and close it. It's much more stale if you mmap it, write, wait for a while but not long enough that the page is automatically written back, write again, unmap, and close. --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/