OpenCloudOS-Kernel/fs/jfs
Christoph Hellwig 5ca2960733 knfsd: exportfs: remove iget abuse
When the exportfs interface was added the expectation was that filesystems
provide an operation to convert from a file handle to an inode/dentry, but it
kept a backwards compat option that still calls into iget.

Calling into iget from non-filesystem code is very bad, because it gives too
little information to filesystem, and simply crashes if the filesystem doesn't
implement the ->read_inode routine.

Fortunately there are only two filesystems left using this fallback: efs and
jfs.  This patch moves a copy of export_iget to each of those to implement the
get_dentry method.

While this is a temporary increase of lines of code in the kernel it allows
for a much cleaner interface and important code restructuring in later
patches.

[akpm@linux-foundation.org: add jfs_get_inode_flags() declaration]
Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-17 10:23:06 -07:00
..
Makefile JFS: ext2 inode attributes for jfs 2006-02-09 09:09:16 -06:00
acl.c JFS: White space cleanup 2006-10-02 09:55:27 -05:00
endian24.h JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
file.c sendfile: remove .sendfile from filesystems that use generic_file_sendfile() 2007-07-10 08:04:13 +02:00
inode.c Copy i_flags to jfs inode flags on write 2007-04-25 09:36:20 -05:00
ioctl.c Copy i_flags to jfs inode flags on write 2007-04-25 09:36:20 -05:00
jfs_acl.h JFS: White space cleanup 2006-10-02 09:55:27 -05:00
jfs_btree.h JFS: White space cleanup 2006-10-02 09:55:27 -05:00
jfs_debug.c JFS: use print_hex_dump() rather than private dump_mem() function 2007-06-06 16:30:17 -05:00
jfs_debug.h JFS: use print_hex_dump() rather than private dump_mem() function 2007-06-06 16:30:17 -05:00
jfs_dinode.h JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_dmap.c JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_dmap.h JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_dtree.c JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_dtree.h JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_extent.c JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_extent.h JFS: White space cleanup 2006-10-02 09:55:27 -05:00
jfs_filsys.h JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_imap.c JFS: Update print_hex_dump() syntax 2007-06-13 10:17:50 -05:00
jfs_imap.h JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_incore.h JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_inode.c Copy i_flags to jfs inode flags on write 2007-04-25 09:36:20 -05:00
jfs_inode.h knfsd: exportfs: remove iget abuse 2007-07-17 10:23:06 -07:00
jfs_lock.h JFS: use __set_current_state() 2007-04-26 07:30:29 -05:00
jfs_logmgr.c JFS: Update print_hex_dump() syntax 2007-06-13 10:17:50 -05:00
jfs_logmgr.h JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_metapage.c JFS: Update print_hex_dump() syntax 2007-06-13 10:17:50 -05:00
jfs_metapage.h JFS: White space cleanup 2006-10-02 09:55:27 -05:00
jfs_mount.c JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_superblock.h JFS: White space cleanup 2006-10-02 09:55:27 -05:00
jfs_txnmgr.c JFS: Update print_hex_dump() syntax 2007-06-13 10:17:50 -05:00
jfs_txnmgr.h JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_types.h JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_umount.c JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_unicode.c JFS: White space cleanup 2006-10-02 09:55:27 -05:00
jfs_unicode.h JFS: White space cleanup 2006-10-02 09:55:27 -05:00
jfs_uniupr.c JFS: White space cleanup 2006-10-02 09:55:27 -05:00
jfs_xattr.h JFS: White space cleanup 2006-10-02 09:55:27 -05:00
jfs_xtree.c JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
jfs_xtree.h JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
namei.c knfsd: exportfs: remove iget abuse 2007-07-17 10:23:06 -07:00
resize.c JFS: Whitespace cleanup and remove some dead code 2007-06-06 15:28:35 -05:00
super.c knfsd: exportfs: remove iget abuse 2007-07-17 10:23:06 -07:00
symlink.c [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
xattr.c JFS: Update print_hex_dump() syntax 2007-06-13 10:17:50 -05:00