linux/fs/9p
Magnus Deininger 57c7b4e68e 9p: fix device file handling
In v9fs_get_inode(), for block, as well as char devices (in theory), 
the function init_special_inode() is called to set up callback functions 
for file ops. this function uses the file mode's value to determine whether 
to use block or char dev functions. In v9fs_inode_from_fid(), the function 
p9mode2unixmode() is used, but for all devices it initially returns S_IFBLK, 
then uses v9fs_get_inode() to initialise a new inode, then finally uses 
v9fs_stat2inode(), which would determine whether the inode is a block or 
character device. However, at that point init_special_inode() had already 
decided to use the block device functions, so even if the inode's mode is 
turned to a character device, the block functions are still used to operate 
on them. The attached patch simply calls init_special_inode() again for devices 
after parsing device node data in v9fs_stat2inode() so that the proper functions 
are used.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
2008-10-17 12:44:46 -05:00
..
fid.c
fid.h
Makefile
v9fs_vfs.h 9p: rework client code to use new protocol support functions 2008-10-17 11:04:45 -05:00
v9fs.c
v9fs.h
vfs_addr.c
vfs_dentry.c
vfs_dir.c 9p: eliminate depricated conv functions 2008-10-17 11:06:57 -05:00
vfs_file.c 9p: rework client code to use new protocol support functions 2008-10-17 11:04:45 -05:00
vfs_inode.c 9p: fix device file handling 2008-10-17 12:44:46 -05:00
vfs_super.c 9p: rework client code to use new protocol support functions 2008-10-17 11:04:45 -05:00