nfsfh.h (4b03d99794eeed27650597a886247c6427ce1055) nfsfh.h (daab110e47f8d7aa6da66923e3ac1a8dbd2b2a72)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 1995, 1996, 1997 Olaf Kirch <okir@monad.swb.de>
4 *
5 * This file describes the layout of the file handles as passed
6 * over the wire.
7 */
8#ifndef _LINUX_NFSD_NFSFH_H

--- 21 unchanged lines hidden (view full) ---

30typedef struct svc_fh {
31 struct knfsd_fh fh_handle; /* FH data */
32 int fh_maxsize; /* max size for fh_handle */
33 struct dentry * fh_dentry; /* validated dentry */
34 struct svc_export * fh_export; /* export pointer */
35
36 bool fh_locked; /* inode locked by us */
37 bool fh_want_write; /* remount protection taken */
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 1995, 1996, 1997 Olaf Kirch <okir@monad.swb.de>
4 *
5 * This file describes the layout of the file handles as passed
6 * over the wire.
7 */
8#ifndef _LINUX_NFSD_NFSFH_H

--- 21 unchanged lines hidden (view full) ---

30typedef struct svc_fh {
31 struct knfsd_fh fh_handle; /* FH data */
32 int fh_maxsize; /* max size for fh_handle */
33 struct dentry * fh_dentry; /* validated dentry */
34 struct svc_export * fh_export; /* export pointer */
35
36 bool fh_locked; /* inode locked by us */
37 bool fh_want_write; /* remount protection taken */
38 bool fh_no_wcc; /* no wcc data needed */
38 int fh_flags; /* FH flags */
39#ifdef CONFIG_NFSD_V3
40 bool fh_post_saved; /* post-op attrs saved */
41 bool fh_pre_saved; /* pre-op attrs saved */
42
43 /* Pre-op attributes saved during fh_lock */
44 __u64 fh_pre_size; /* size before operation */
45 struct timespec64 fh_pre_mtime; /* mtime before oper */
46 struct timespec64 fh_pre_ctime; /* ctime before oper */
47 /*
48 * pre-op nfsv4 change attr: note must check IS_I_VERSION(inode)
49 * to find out if it is valid.
50 */
51 u64 fh_pre_change;
52
53 /* Post-op attributes saved in fh_unlock */
54 struct kstat fh_post_attr; /* full attrs after operation */
55 u64 fh_post_change; /* nfsv4 change; see above */
56#endif /* CONFIG_NFSD_V3 */
39 int fh_flags; /* FH flags */
40#ifdef CONFIG_NFSD_V3
41 bool fh_post_saved; /* post-op attrs saved */
42 bool fh_pre_saved; /* pre-op attrs saved */
43
44 /* Pre-op attributes saved during fh_lock */
45 __u64 fh_pre_size; /* size before operation */
46 struct timespec64 fh_pre_mtime; /* mtime before oper */
47 struct timespec64 fh_pre_ctime; /* ctime before oper */
48 /*
49 * pre-op nfsv4 change attr: note must check IS_I_VERSION(inode)
50 * to find out if it is valid.
51 */
52 u64 fh_pre_change;
53
54 /* Post-op attributes saved in fh_unlock */
55 struct kstat fh_post_attr; /* full attrs after operation */
56 u64 fh_post_change; /* nfsv4 change; see above */
57#endif /* CONFIG_NFSD_V3 */
57
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))
62
63enum nfsd_fsid {
64 FSID_DEV = 0,
65 FSID_NUM,

--- 264 unchanged lines hidden ---
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))
62
63enum nfsd_fsid {
64 FSID_DEV = 0,
65 FSID_NUM,

--- 264 unchanged lines hidden ---