From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Elsayed Subject: Re: [Lsf-pc] [LSF/MM TOPIC] atomic block device Date: Tue, 18 Feb 2014 00:59:49 -0800 Message-ID: References: <20140217085627.GA13647@dastard> <20140217095118.GB3686@quack.suse.cz> <5301E282.9060207@symas.com> <20140218001017.GB13647@dastard> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7Bit To: linux-fsdevel@vger.kernel.org Return-path: Received: from plane.gmane.org ([80.91.229.3]:42839 "EHLO plane.gmane.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754556AbaBRJAH (ORCPT ); Tue, 18 Feb 2014 04:00:07 -0500 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1WFgX5-0000Hl-GO for linux-fsdevel@vger.kernel.org; Tue, 18 Feb 2014 10:00:03 +0100 Received: from c-50-132-41-203.hsd1.wa.comcast.net ([50.132.41.203]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 18 Feb 2014 10:00:03 +0100 Received: from eternaleye by c-50-132-41-203.hsd1.wa.comcast.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 18 Feb 2014 10:00:03 +0100 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Dave Chinner wrote: (My apologies for snipping, but I only wanted to address a very small part of what you said) > Similarly, things like ordered writes are great until you consider > how they interact with journalling and cause priority inversion > issues. The only way to make use of ordered writes is to design the > filesystem around ordered writes from the ground up. i.e. the > soft updates complexity problem. Unlike atomic writes, this can't > easily be retrofitted to an exising filesystem, and once you have > soft updates in place you are effectively fixing the format and > features of the filesystem in stone because if you need to change a > single operation or on disk structure you have to work out the > dependency graph for the entire filesystem from the ground up again. One thing that keeps coming to mind whenever ordering guarantees in filesystems come up is Featherstitch[1], which is (to quote the article) "a generalization of the soft updates system of write dependencies and rollback data" (since "not enough file systems geniuses exist in the world to write and maintain more than one instance of soft updates"). Aside from its relevance to your observations on soft updates, it had a userspace API that provided similar guarantees to Howard Chu's suggestion. [1] article by Valerie Aurora: https://lwn.net/Articles/354861/