Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Variables
namei.c File Reference
#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
 

Variable Documentation

struct inode_operations ntfs_dir_inode_ops
Initial value:
= {
.lookup = ntfs_lookup,
}

Inode operations for directories.

Definition at line 279 of file namei.c.

struct export_operations ntfs_export_ops
Initial value:
= {
.get_parent = ntfs_get_parent,
.fh_to_dentry = ntfs_fh_to_dentry,
.fh_to_parent = ntfs_fh_to_parent,
}

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().

Definition at line 400 of file namei.c.