Re: symlinks and NWFS

From: Jeff V. Merkey (jmerkey@timpanogas.com)
Date: Fri May 12 2000 - 10:03:24 EST


Alexander Viro wrote:
>
> On Fri, 12 May 2000, Jeff V. Merkey wrote:
>
> [snip]
> > look at DIR.C and see if you think I'm doing the POSIX stuff right. I
>
> Hmm... The latest timestamps on code I've looked at were about Apr 22 and
> I had picked it from your site tonight. If you have newer variant...
>

Al, I do, I am putting in the final page cache stuff, though I could
post something newer tonight. I will stop "playing" with different
stuff with the page cache, and just put a new one out this evening.

:-)

>
> Umm... Fragment in question:
> int nwfs_rename(struct inode *oldDir, struct dentry *old_dentry,
> struct inode *newDir, struct dentry *new_dentry)
> [snip]
> register HASH *odirhash = (HASH *) oldDir->u.generic_ip;
> register HASH *ndirhash = (HASH *) newDir->u.generic_ip;
> [snip]
> if (oldDirNo == newDirNo)
> NWLockFile(odirhash);
> else
> {
> NWLockFile(odirhash);
> NWLockFile(ndirhash);
> }
> [snip]

Yipes! You're right. I'll fix this.

:-)

Jeff

>
> where NWLockFile(foo) (without VFS_DEBUG and with LINUX_SLEEP - looks like
> your default) turns into
> if (WaitOnSemaphore((struct semaphore *)&foo->Semaphore) == -EINTR)
> ....
> and WaitOnSemaphore(foo) is down(foo) (without DEBUG_DEADLOCKS). Even with
> DEBUG_DEADLOCKS you'll get down_interruptible(foo), which is breakable but
> locks all the same.
>
> Erm... OK, I could see the point if you only took that lock for
> directories that have ->i_sem or ->i_zombie taken, but then.. what's the
> point of taking it at all?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon May 15 2000 - 21:00:20 EST