From owner-freebsd-current Sun May 17 21:31:13 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id VAA00529 for freebsd-current-outgoing; Sun, 17 May 1998 21:31:13 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from alpo.whistle.com (alpo.whistle.com [207.76.204.38]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id VAA00521 for ; Sun, 17 May 1998 21:31:09 -0700 (PDT) (envelope-from julian@whistle.com) Received: (from daemon@localhost) by alpo.whistle.com (8.8.5/8.8.5) id VAA24843; Sun, 17 May 1998 21:23:00 -0700 (PDT) Received: from current1.whistle.com(207.76.205.22) via SMTP by alpo.whistle.com, id smtpd024841; Mon May 18 04:22:55 1998 Date: Sun, 17 May 1998 21:22:52 -0700 (PDT) From: Julian Elischer To: Terry Lambert cc: current@FreeBSD.ORG Subject: Re: Patch to disable async, noatime for soft updates In-Reply-To: <199805180405.VAA26835@usr07.primenet.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG well as part of the Whistle crew looking over kirk's shoulder during our sessions.. we obviously decided that this was your task :-) On Mon, 18 May 1998, Terry Lambert wrote: > Here is a patch to do what the subject says. > > I can't believe no one has bothered to do this yet. > > ------------------------------------------------------------------------------- > Index: ffs_vfsops.c > =================================================================== > RCS file: /b/cvstree/ncvs/src/sys/ufs/ffs/ffs_vfsops.c,v > retrieving revision 1.81 > diff -c -r1.81 ffs_vfsops.c > *** 1.81 1998/05/06 05:29:40 > --- ffs_vfsops.c 1998/05/18 04:04:07 > *************** > *** 629,634 **** > --- 629,638 ---- > if (error = bread(devvp, SBLOCK, SBSIZE, cred, &bp)) > goto out; > fs = (struct fs *)bp->b_data; > + /* soft updates is incompatible with "async" and "noatime"*/ > + if (fs->fs_flags & FS_DOSOFTDEP) { > + mp->mnt_flag &= ~(MNT_ASYNC | MNT_NOATIME); > + } > if (fs->fs_magic != FS_MAGIC || fs->fs_bsize > MAXBSIZE || > fs->fs_bsize < sizeof(struct fs)) { > error = EINVAL; /* XXX needs translation */ > ------------------------------------------------------------------------------- I'm not convinced this is correct but it can't be too far off. What if softupdates is not enabled in that kernel? I think it should be done in ffs_softdep.c in softdep_mount(). this is what sets the softdep flag and it should unset the others. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message