| .. | .. |
|---|
| 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, |
|---|