Linux Kernel
3.7.1
|
#include <linux/dcache.h>
#include <linux/exportfs.h>
#include <linux/security.h>
#include <linux/slab.h>
#include "attrib.h"
#include "debug.h"
#include "dir.h"
#include "mft.h"
#include "ntfs.h"
Go to the source code of this file.
Variables | |
struct inode_operations | ntfs_dir_inode_ops |
struct export_operations | ntfs_export_ops |
struct inode_operations ntfs_dir_inode_ops |
struct export_operations ntfs_export_ops |
Export operations allowing NFS exporting of mounted NTFS partitions.
We use the default ->encode_fh() for now. Note that they use 32 bits to store the inode number which is an unsigned long so on 64-bit architectures is usually 64 bits so it would all fail horribly on huge volumes. I guess we need to define our own encode and decode fh functions that store 64-bit inode numbers at some point but for now we will ignore the problem...
We also use the default ->get_name() helper (used by ->decode_fh() via fs/exportfs/expfs.c::find_exported_dentry()) as that is completely fs independent.
The default ->get_parent() just returns -EACCES so we have to provide our own and the default ->get_dentry() is incompatible with NTFS due to not allowing the inode number 0 which is used in NTFS for the system file $MFT and due to using iget() whereas NTFS needs ntfs_iget().