Date: Fri, 27 Feb 1998 16:56:38 +0100 From: Eivind Eklund <eivind@yes.no> To: fs@FreeBSD.ORG Subject: Re: syncer / SMP question Message-ID: <19980227165638.57458@follo.net> In-Reply-To: <19980227164859.25557@follo.net>; from Eivind Eklund on Fri, Feb 27, 1998 at 04:48:59PM %2B0100 References: <19980227164859.25557@follo.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 27, 1998 at 04:48:59PM +0100, Eivind Eklund wrote: > I was looking at implementing an incremental syncer for UFS, as a sort > of "let's get to know the FS-code" project, and noticed something that > looked like really strange code in the sync() syscall. Is there any > reason why the below wouldn't be a benign change? The extra > simplelock-call looks especially weird - it looks like either the lock > is released somewhere else, or we'll have the mountlist locked many > times. I looked a bit further. If the sync patch is incorrect (ie, the lock can't be moved that way), is there any reason why this simple_lock(&mountlist_slock); for (mp = mountlist.cqh_first; mp != (void *)&mountlist; mp = nmp) { if (vfs_busy(mp, LK_NOWAIT, &mountlist_slock, p)) { >>>>>>> nmp = mp->mnt_list.cqe_next; continue; >>>>>>> } is not a race-condition? I'm not certain I get all of this. Eivind. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980227165638.57458>