From owner-freebsd-current Tue Sep 22 21:01:44 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id VAA21530 for freebsd-current-outgoing; Tue, 22 Sep 1998 21:01:44 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from lor.watermarkgroup.com (lor.watermarkgroup.com [207.202.73.33]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id VAA21399 for ; Tue, 22 Sep 1998 21:00:59 -0700 (PDT) (envelope-from luoqi@watermarkgroup.com) Received: (from luoqi@localhost) by lor.watermarkgroup.com (8.8.8/8.8.8) id AAA07807; Wed, 23 Sep 1998 00:00:16 -0400 (EDT) (envelope-from luoqi) Date: Wed, 23 Sep 1998 00:00:16 -0400 (EDT) From: Luoqi Chen Message-Id: <199809230400.AAA07807@lor.watermarkgroup.com> To: luoqi@watermarkgroup.com, tlambert@primenet.com Subject: Re: Yet another patch to try for softupdates panic Cc: Don.Lewis@tsc.tdk.com, current@FreeBSD.ORG, mckusick@flamingo.McKusick.COM Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > Yes, there's a race here, and also a couple of other places VOP_FSYNC() are > > called. > > > > > You could tweak this call to VOP_FSYNC() to get it to avoid the > > > call to softdep_fsync(), but how many other places in the kernel > > > also need to be fixed? It may be better to only call softdep_fsync() > > > from within the fsync() syscall handler. I don't know that any other > > > users of VOP_FSYNC() need to ensure that the parent directories are > > > pushed to disk. > > > > I totally agree. This is the way to go. I'll try this and let you know > > how it turns out. > > I would be wary of this; specifically, consider the case of a > softdep mounted root with a /dev directory, and the need to > commit dirty blocks to a specfs device. > > I believe that Julian can comment on this, since we looked at this > in the early days of the "sync not honoring dependency order" bug, > and decided that there was a problem with the vm object commits > for the devices themselves, and thus for things like the > superblock and other "external" metadata. > Terry, I think you're talking about a different problem. softdep_fsync() is only meaningful for a newly created file or directory in a parent directory. Unless you were talking about a new device node, this shouldn't cause any problem you mentioned. > > Terry Lambert > terry@lambert.org > --- > Any opinions in this posting are my own and not those of my present > or previous employers. > -lq To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message