| Viewing file:  nfsfh.h (1.81 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
/** include/linux/nfsd/nfsfh.h
 *
 * This file describes the layout of the file handles as passed
 * over the wire.
 *
 * Earlier versions of knfsd used to sign file handles using keyed MD5
 * or SHA. I've removed this code, because it doesn't give you more
 * security than blocking external access to port 2049 on your firewall.
 *
 * Copyright (C) 1995, 1996, 1997 Olaf Kirch <okir@monad.swb.de>
 */
 #ifndef _LINUX_NFSD_FH_H
 #define _LINUX_NFSD_FH_H
 
 # include <linux/sunrpc/svc.h>
 #include <uapi/linux/nfsd/nfsfh.h>
 
 static inline __u32 ino_t_to_u32(ino_t ino)
 {
 return (__u32) ino;
 }
 
 static inline ino_t u32_to_ino_t(__u32 uino)
 {
 return (ino_t) uino;
 }
 
 /*
 * This is the internal representation of an NFS handle used in knfsd.
 * pre_mtime/post_version will be used to support wcc_attr's in NFSv3.
 */
 typedef struct svc_fh {
 struct knfsd_fh        fh_handle;    /* FH data */
 struct dentry *        fh_dentry;    /* validated dentry */
 struct svc_export *    fh_export;    /* export pointer */
 int            fh_maxsize;    /* max size for fh_handle */
 
 unsigned char        fh_locked;    /* inode locked by us */
 unsigned char        fh_want_write;    /* remount protection taken */
 
 #ifdef CONFIG_NFSD_V3
 unsigned char        fh_post_saved;    /* post-op attrs saved */
 unsigned char        fh_pre_saved;    /* pre-op attrs saved */
 
 /* Pre-op attributes saved during fh_lock */
 __u64            fh_pre_size;    /* size before operation */
 struct timespec        fh_pre_mtime;    /* mtime before oper */
 struct timespec        fh_pre_ctime;    /* ctime before oper */
 /*
 * pre-op nfsv4 change attr: note must check IS_I_VERSION(inode)
 *  to find out if it is valid.
 */
 u64            fh_pre_change;
 
 /* Post-op attributes saved in fh_unlock */
 struct kstat        fh_post_attr;    /* full attrs after operation */
 u64            fh_post_change; /* nfsv4 change; see above */
 #endif /* CONFIG_NFSD_V3 */
 
 } svc_fh;
 
 #endif /* _LINUX_NFSD_FH_H */
 
 |