Suggested changes to the VFS

H. Peter Anvin (hpa@transmeta.com)
Mon, 23 Mar 1998 14:51:52 -0800 (PST)


I would like to make the following changes against the VFS interface
in 2.1, and I would very much appreciate your comments (just exactly
what have I overlooked):

put_super:

This function would no longer be responsible for unlocking the
superblock and setting the s_dev entry in the superblock to
zero. Instead this would be performed by the VFS. This would
permit moving invalidate_inodes() until after the superblock
has been put, which is required to support virtual filesystems
without requiring backing store for its inode information.

open:
The individual filesystems would be responsible for allocating
a file structure pointer and return it; a canned function
would be available that would perform the equivalent of the
current code in do_open (and, of course, this would still be
performed equivalently for inodes which have NULL in their
open fields.) This would allow the filesystems to return
something other than a newly created file pointer. This could
include a socket, a pipe, or a dup of an existing file
pointer.

Incidentally, open is defined as a file_operation, which IMO
is bogus, since you can only open() an inode, and the open
function is passed an inode anyway. It would appear more
logical to me to move open to the inode_operations structure.

Comments, flames?

-hpa

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu