From owner-freebsd-current Sat Oct 3 20:56:51 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id UAA29378 for freebsd-current-outgoing; Sat, 3 Oct 1998 20:56:51 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from smtp04.primenet.com (smtp04.primenet.com [206.165.6.134]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id UAA29336 for ; Sat, 3 Oct 1998 20:56:22 -0700 (PDT) (envelope-from tlambert@usr06.primenet.com) Received: (from daemon@localhost) by smtp04.primenet.com (8.8.8/8.8.8) id UAA05753; Sat, 3 Oct 1998 20:55:59 -0700 (MST) Received: from usr06.primenet.com(206.165.6.206) via SMTP by smtp04.primenet.com, id smtpd005749; Sat Oct 3 20:55:55 1998 Received: (from tlambert@localhost) by usr06.primenet.com (8.8.5/8.8.5) id UAA24036; Sat, 3 Oct 1998 20:55:51 -0700 (MST) From: Terry Lambert Message-Id: <199810040355.UAA24036@usr06.primenet.com> Subject: Re: Softupdates, filesystem safety and SCSI disk write caching To: julian@whistle.com (Julian Elischer) Date: Sun, 4 Oct 1998 03:55:51 +0000 (GMT) Cc: gibbs@plutotech.com, Don.Lewis@tsc.tdk.com, current@FreeBSD.ORG In-Reply-To: from "Julian Elischer" at Oct 2, 98 02:22:01 pm X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > No this is not what softupdates expects.. > > It expects that data blocks are written before metadata blocks. > (for writing files) > > An example of some of the dependencies for writing a file B are: > > directory blocks depend on > inode blocks, which depend on > indirect blocks, which depend on > datablocks I think it is important to interject something here: Not only does soft updates protect the filesystem integrity by way of ordering metadata, it *also* protects user data integrity. This is *more* than the standard "no options" mount used to do; it is closer to what a "sync" mount does. Again, in English: soft updates is *better* than sync metadata with async data. The ability to protect user data was why I was initially so adamant about a generic implementation of a dependency graph event reconciliation registration mechanism. If I could register a new dependency type called "transaction", I could export a transactioning interface to user space. A transaction, in this sense, is an implied relationship between two or more files data contents. As it is, I can use the old fashioned technique, and do fsync() calls; this is, however, not nearly so satisfying. 8-(. > This is not acceptable to softupdates. (as defined by McKusick, Ganger and > Pratt) Uh, "Patt". 8-). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message