aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfsfh.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2014-05-06 13:37:13 -0400
committerJ. Bruce Fields <bfields@redhat.com>2014-05-06 17:54:53 -0400
commit9c69de4c94fcb11db919160d5fa0b48f13d1757a (patch)
tree84ab9298f94f718d5cef937ca3987ab3a8cb1379 /fs/nfsd/nfsfh.h
parent4dd86e150f63a6c360783f163a979ec563e6d570 (diff)
nfsd: remove <linux/nfsd/nfsfh.h>
The only real user of this header is fs/nfsd/nfsfh.h, so merge the two. Various lockѕ source files used it to indirectly get other sunrpc or nfs headers, so fix those up. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/nfsfh.h')
-rw-r--r--fs/nfsd/nfsfh.h59
1 files changed, 54 insertions, 5 deletions
diff --git a/fs/nfsd/nfsfh.h b/fs/nfsd/nfsfh.h
index ad67964d0bb1..2e89e70ac15c 100644
--- a/fs/nfsd/nfsfh.h
+++ b/fs/nfsd/nfsfh.h
@@ -1,9 +1,58 @@
1/* Copyright (C) 1995, 1996, 1997 Olaf Kirch <okir@monad.swb.de> */ 1/*
2 * Copyright (C) 1995, 1996, 1997 Olaf Kirch <okir@monad.swb.de>
3 *
4 * This file describes the layout of the file handles as passed
5 * over the wire.
6 */
7#ifndef _LINUX_NFSD_NFSFH_H
8#define _LINUX_NFSD_NFSFH_H
9
10#include <linux/sunrpc/svc.h>
11#include <uapi/linux/nfsd/nfsfh.h>
12
13static inline __u32 ino_t_to_u32(ino_t ino)
14{
15 return (__u32) ino;
16}
17
18static inline ino_t u32_to_ino_t(__u32 uino)
19{
20 return (ino_t) uino;
21}
2 22
3#ifndef _LINUX_NFSD_FH_INT_H 23/*
4#define _LINUX_NFSD_FH_INT_H 24 * This is the internal representation of an NFS handle used in knfsd.
25 * pre_mtime/post_version will be used to support wcc_attr's in NFSv3.
26 */
27typedef struct svc_fh {
28 struct knfsd_fh fh_handle; /* FH data */
29 struct dentry * fh_dentry; /* validated dentry */
30 struct svc_export * fh_export; /* export pointer */
31 int fh_maxsize; /* max size for fh_handle */
32
33 unsigned char fh_locked; /* inode locked by us */
34 unsigned char fh_want_write; /* remount protection taken */
35
36#ifdef CONFIG_NFSD_V3
37 unsigned char fh_post_saved; /* post-op attrs saved */
38 unsigned char fh_pre_saved; /* pre-op attrs saved */
39
40 /* Pre-op attributes saved during fh_lock */
41 __u64 fh_pre_size; /* size before operation */
42 struct timespec fh_pre_mtime; /* mtime before oper */
43 struct timespec fh_pre_ctime; /* ctime before oper */
44 /*
45 * pre-op nfsv4 change attr: note must check IS_I_VERSION(inode)
46 * to find out if it is valid.
47 */
48 u64 fh_pre_change;
49
50 /* Post-op attributes saved in fh_unlock */
51 struct kstat fh_post_attr; /* full attrs after operation */
52 u64 fh_post_change; /* nfsv4 change; see above */
53#endif /* CONFIG_NFSD_V3 */
5 54
6#include <linux/nfsd/nfsfh.h> 55} svc_fh;
7 56
8enum nfsd_fsid { 57enum nfsd_fsid {
9 FSID_DEV = 0, 58 FSID_DEV = 0,
@@ -215,4 +264,4 @@ fh_unlock(struct svc_fh *fhp)
215 } 264 }
216} 265}
217 266
218#endif /* _LINUX_NFSD_FH_INT_H */ 267#endif /* _LINUX_NFSD_NFSFH_H */