• C
    knfsd: exportfs: remove iget abuse · 5ca29607
    Christoph Hellwig 提交于
    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: NDave Kleikamp <shaggy@linux.vnet.ibm.com>
    Signed-off-by: NChristoph Hellwig <hch@lst.de>
    Signed-off-by: NNeil Brown <neilb@suse.de>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    5ca29607
namei.c 36.9 KB