Re: write_inode() before read_inode()

From: Jeff V. Merkey (jmerkey@timpanogas.com)
Date: Tue Apr 18 2000 - 21:49:27 EST


I understand what's happening here. I do not implement a
notify_change() function since NWFS supports Unix permissions with
needing to map them. I provide write_inode() in it's place, which does
the same thing. The code will call write_inode() if it cannot locate a
notify_change() function call in the VFS, so write_node() can get called
before read_inode(). We have a workaround so this is ok.

Jeff

"Jeff V. Merkey" wrote:
>
> Under extremely heavy load, I am seeing write_inode() being called
> before a read_inode() on 2.3.99-Pre5 during recursive copying to an NWFS
> file system. I am running about 40 processes all performing copy
> operations when it occurs. I know it's happening because I fill out the
> inode->u.generic_ip pointer to a HASH * structure, and the VFS is
> calling me with a NULL pointer (but the file exists and was previously
> created). It's almost as though create() is getting called, then
> write_inode() before a read_inode() call.
>
> This is different from 2.2.15 VFS and I think this may break some
> stuff. It may be related to the increased locking caused by the test.
> I can simply look up the inode number in the dir hash, and when I do, I
> find the entry (which means it got previously created before
> write_inode( was called, but read_inode() never got called). Isn't it
> illegal to call write_inode() before a read_inode() call to populate the
> inode structure?
>
> Jeff

-
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 : Sun Apr 23 2000 - 21:00:14 EST