.. | .. |
---|
35 | 35 | |
---|
36 | 36 | bool fh_locked; /* inode locked by us */ |
---|
37 | 37 | bool fh_want_write; /* remount protection taken */ |
---|
38 | | - |
---|
| 38 | + int fh_flags; /* FH flags */ |
---|
39 | 39 | #ifdef CONFIG_NFSD_V3 |
---|
40 | 40 | bool fh_post_saved; /* post-op attrs saved */ |
---|
41 | 41 | bool fh_pre_saved; /* pre-op attrs saved */ |
---|
42 | 42 | |
---|
43 | 43 | /* Pre-op attributes saved during fh_lock */ |
---|
44 | 44 | __u64 fh_pre_size; /* size before operation */ |
---|
45 | | - struct timespec fh_pre_mtime; /* mtime before oper */ |
---|
46 | | - struct timespec fh_pre_ctime; /* ctime before oper */ |
---|
| 45 | + struct timespec64 fh_pre_mtime; /* mtime before oper */ |
---|
| 46 | + struct timespec64 fh_pre_ctime; /* ctime before oper */ |
---|
47 | 47 | /* |
---|
48 | 48 | * pre-op nfsv4 change attr: note must check IS_I_VERSION(inode) |
---|
49 | 49 | * to find out if it is valid. |
---|
.. | .. |
---|
56 | 56 | #endif /* CONFIG_NFSD_V3 */ |
---|
57 | 57 | |
---|
58 | 58 | } svc_fh; |
---|
| 59 | +#define NFSD4_FH_FOREIGN (1<<0) |
---|
| 60 | +#define SET_FH_FLAG(c, f) ((c)->fh_flags |= (f)) |
---|
| 61 | +#define HAS_FH_FLAG(c, f) ((c)->fh_flags & (f)) |
---|
59 | 62 | |
---|
60 | 63 | enum nfsd_fsid { |
---|
61 | 64 | FSID_DEV = 0, |
---|