Skip site navigation (1)Skip section navigation (2)
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>