Date: Mon, 21 Sep 1998 15:54:34 -0700 From: Don Lewis <Don.Lewis@tsc.tdk.com> To: Luoqi Chen <luoqi@watermarkgroup.com>, Don.Lewis@tsc.tdk.com, current@FreeBSD.ORG Subject: Re: Yet another patch to try for softupdates panic Message-ID: <199809212254.PAA15450@salsa.gv.tsc.tdk.com> In-Reply-To: Luoqi Chen <luoqi@watermarkgroup.com> "Re: Yet another patch to try for softupdates panic" (Sep 21, 12:24pm)
next in thread | previous in thread | raw e-mail | index | archive | help
On Sep 21, 12:24pm, Luoqi Chen wrote: } Subject: Re: Yet another patch to try for softupdates panic } > What bothers me is that the } > directory truncation doesn't happen until after ufs_direnter() has } > stored the new directory entry, so I don't see how the softdep_fsync() } > unlocking bug causes the symptoms. } It doesn't lead to panic immediately. But it leaves the system in a } inconsistent state: the real size of the directory is in fact larger then } what the i_size field of inode says it is. The next time a file is created } in this directory, ufs_lookup() will only search for empty slot up to } i_size bytes in the directory, if it couldn't find anything, this file } will be placed at the first slot beyond i_size and there's already a } valid entry there! Yeah, I finally figured that out after I went home for some zzz's. It looks like this bogus unlocking could also affect vinvalbuf() which expects the vnode to be locked. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809212254.PAA15450>