~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/nfs.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/linux/nfs.h (Version linux-6.11.5) and /include/linux/nfs.h (Version linux-2.6.32.71)


  1 /* SPDX-License-Identifier: GPL-2.0 */         << 
  2 /*                                                  1 /*
  3  * NFS protocol definitions                         2  * NFS protocol definitions
  4  *                                                  3  *
  5  * This file contains constants mostly for Ver      4  * This file contains constants mostly for Version 2 of the protocol,
  6  * but also has a couple of NFSv3 bits in (not      5  * but also has a couple of NFSv3 bits in (notably the error codes).
  7  */                                                 6  */
  8 #ifndef _LINUX_NFS_H                                7 #ifndef _LINUX_NFS_H
  9 #define _LINUX_NFS_H                                8 #define _LINUX_NFS_H
 10                                                     9 
                                                   >>  10 #define NFS_PROGRAM     100003
                                                   >>  11 #define NFS_PORT        2049
                                                   >>  12 #define NFS_MAXDATA     8192
                                                   >>  13 #define NFS_MAXPATHLEN  1024
                                                   >>  14 #define NFS_MAXNAMLEN   255
                                                   >>  15 #define NFS_MAXGROUPS   16
                                                   >>  16 #define NFS_FHSIZE      32
                                                   >>  17 #define NFS_COOKIESIZE  4
                                                   >>  18 #define NFS_FIFO_DEV    (-1)
                                                   >>  19 #define NFSMODE_FMT     0170000
                                                   >>  20 #define NFSMODE_DIR     0040000
                                                   >>  21 #define NFSMODE_CHR     0020000
                                                   >>  22 #define NFSMODE_BLK     0060000
                                                   >>  23 #define NFSMODE_REG     0100000
                                                   >>  24 #define NFSMODE_LNK     0120000
                                                   >>  25 #define NFSMODE_SOCK    0140000
                                                   >>  26 #define NFSMODE_FIFO    0010000
                                                   >>  27 
                                                   >>  28 #define NFS_MNT_PROGRAM         100005
                                                   >>  29 #define NFS_MNT_VERSION         1
                                                   >>  30 #define NFS_MNT3_VERSION        3
                                                   >>  31 
                                                   >>  32 /*
                                                   >>  33  * NFS stats. The good thing with these values is that NFSv3 errors are
                                                   >>  34  * a superset of NFSv2 errors (with the exception of NFSERR_WFLUSH which
                                                   >>  35  * no-one uses anyway), so we can happily mix code as long as we make sure
                                                   >>  36  * no NFSv3 errors are returned to NFSv2 clients.
                                                   >>  37  * Error codes that have a `--' in the v2 column are not part of the
                                                   >>  38  * standard, but seem to be widely used nevertheless.
                                                   >>  39  */
                                                   >>  40  enum nfs_stat {
                                                   >>  41         NFS_OK = 0,                     /* v2 v3 v4 */
                                                   >>  42         NFSERR_PERM = 1,                /* v2 v3 v4 */
                                                   >>  43         NFSERR_NOENT = 2,               /* v2 v3 v4 */
                                                   >>  44         NFSERR_IO = 5,                  /* v2 v3 v4 */
                                                   >>  45         NFSERR_NXIO = 6,                /* v2 v3 v4 */
                                                   >>  46         NFSERR_EAGAIN = 11,             /* v2 v3 */
                                                   >>  47         NFSERR_ACCES = 13,              /* v2 v3 v4 */
                                                   >>  48         NFSERR_EXIST = 17,              /* v2 v3 v4 */
                                                   >>  49         NFSERR_XDEV = 18,               /*    v3 v4 */
                                                   >>  50         NFSERR_NODEV = 19,              /* v2 v3 v4 */
                                                   >>  51         NFSERR_NOTDIR = 20,             /* v2 v3 v4 */
                                                   >>  52         NFSERR_ISDIR = 21,              /* v2 v3 v4 */
                                                   >>  53         NFSERR_INVAL = 22,              /* v2 v3 v4 */
                                                   >>  54         NFSERR_FBIG = 27,               /* v2 v3 v4 */
                                                   >>  55         NFSERR_NOSPC = 28,              /* v2 v3 v4 */
                                                   >>  56         NFSERR_ROFS = 30,               /* v2 v3 v4 */
                                                   >>  57         NFSERR_MLINK = 31,              /*    v3 v4 */
                                                   >>  58         NFSERR_OPNOTSUPP = 45,          /* v2 v3 */
                                                   >>  59         NFSERR_NAMETOOLONG = 63,        /* v2 v3 v4 */
                                                   >>  60         NFSERR_NOTEMPTY = 66,           /* v2 v3 v4 */
                                                   >>  61         NFSERR_DQUOT = 69,              /* v2 v3 v4 */
                                                   >>  62         NFSERR_STALE = 70,              /* v2 v3 v4 */
                                                   >>  63         NFSERR_REMOTE = 71,             /* v2 v3 */
                                                   >>  64         NFSERR_WFLUSH = 99,             /* v2    */
                                                   >>  65         NFSERR_BADHANDLE = 10001,       /*    v3 v4 */
                                                   >>  66         NFSERR_NOT_SYNC = 10002,        /*    v3 */
                                                   >>  67         NFSERR_BAD_COOKIE = 10003,      /*    v3 v4 */
                                                   >>  68         NFSERR_NOTSUPP = 10004,         /*    v3 v4 */
                                                   >>  69         NFSERR_TOOSMALL = 10005,        /*    v3 v4 */
                                                   >>  70         NFSERR_SERVERFAULT = 10006,     /*    v3 v4 */
                                                   >>  71         NFSERR_BADTYPE = 10007,         /*    v3 v4 */
                                                   >>  72         NFSERR_JUKEBOX = 10008,         /*    v3 v4 */
                                                   >>  73         NFSERR_SAME = 10009,            /*       v4 */
                                                   >>  74         NFSERR_DENIED = 10010,          /*       v4 */
                                                   >>  75         NFSERR_EXPIRED = 10011,         /*       v4 */
                                                   >>  76         NFSERR_LOCKED = 10012,          /*       v4 */
                                                   >>  77         NFSERR_GRACE = 10013,           /*       v4 */
                                                   >>  78         NFSERR_FHEXPIRED = 10014,       /*       v4 */
                                                   >>  79         NFSERR_SHARE_DENIED = 10015,    /*       v4 */
                                                   >>  80         NFSERR_WRONGSEC = 10016,        /*       v4 */
                                                   >>  81         NFSERR_CLID_INUSE = 10017,      /*       v4 */
                                                   >>  82         NFSERR_RESOURCE = 10018,        /*       v4 */
                                                   >>  83         NFSERR_MOVED = 10019,           /*       v4 */
                                                   >>  84         NFSERR_NOFILEHANDLE = 10020,    /*       v4 */
                                                   >>  85         NFSERR_MINOR_VERS_MISMATCH = 10021,   /* v4 */
                                                   >>  86         NFSERR_STALE_CLIENTID = 10022,  /*       v4 */
                                                   >>  87         NFSERR_STALE_STATEID = 10023,   /*       v4 */
                                                   >>  88         NFSERR_OLD_STATEID = 10024,     /*       v4 */
                                                   >>  89         NFSERR_BAD_STATEID = 10025,     /*       v4 */  
                                                   >>  90         NFSERR_BAD_SEQID = 10026,       /*       v4 */
                                                   >>  91         NFSERR_NOT_SAME = 10027,        /*       v4 */
                                                   >>  92         NFSERR_LOCK_RANGE = 10028,      /*       v4 */
                                                   >>  93         NFSERR_SYMLINK = 10029,         /*       v4 */
                                                   >>  94         NFSERR_RESTOREFH = 10030,       /*       v4 */
                                                   >>  95         NFSERR_LEASE_MOVED = 10031,     /*       v4 */
                                                   >>  96         NFSERR_ATTRNOTSUPP = 10032,     /*       v4 */
                                                   >>  97         NFSERR_NO_GRACE = 10033,        /*       v4 */
                                                   >>  98         NFSERR_RECLAIM_BAD = 10034,     /*       v4 */
                                                   >>  99         NFSERR_RECLAIM_CONFLICT = 10035,/*       v4 */
                                                   >> 100         NFSERR_BAD_XDR = 10036,         /*       v4 */
                                                   >> 101         NFSERR_LOCKS_HELD = 10037,      /*       v4 */
                                                   >> 102         NFSERR_OPENMODE = 10038,       /*       v4 */
                                                   >> 103         NFSERR_BADOWNER = 10039,       /*       v4 */
                                                   >> 104         NFSERR_BADCHAR = 10040,        /*       v4 */
                                                   >> 105         NFSERR_BADNAME = 10041,        /*       v4 */
                                                   >> 106         NFSERR_BAD_RANGE = 10042,      /*       v4 */
                                                   >> 107         NFSERR_LOCK_NOTSUPP = 10043,   /*       v4 */
                                                   >> 108         NFSERR_OP_ILLEGAL = 10044,     /*       v4 */
                                                   >> 109         NFSERR_DEADLOCK = 10045,       /*       v4 */
                                                   >> 110         NFSERR_FILE_OPEN = 10046,      /*       v4 */
                                                   >> 111         NFSERR_ADMIN_REVOKED = 10047,  /*       v4 */
                                                   >> 112         NFSERR_CB_PATH_DOWN = 10048,   /*       v4 */
                                                   >> 113 };
                                                   >> 114 
                                                   >> 115 /* NFSv2 file types - beware, these are not the same in NFSv3 */
                                                   >> 116 
                                                   >> 117 enum nfs_ftype {
                                                   >> 118         NFNON = 0,
                                                   >> 119         NFREG = 1,
                                                   >> 120         NFDIR = 2,
                                                   >> 121         NFBLK = 3,
                                                   >> 122         NFCHR = 4,
                                                   >> 123         NFLNK = 5,
                                                   >> 124         NFSOCK = 6,
                                                   >> 125         NFBAD = 7,
                                                   >> 126         NFFIFO = 8
                                                   >> 127 };
                                                   >> 128 
                                                   >> 129 #ifdef __KERNEL__
 11 #include <linux/sunrpc/msg_prot.h>                130 #include <linux/sunrpc/msg_prot.h>
 12 #include <linux/string.h>                         131 #include <linux/string.h>
 13 #include <linux/crc32.h>                       << 
 14 #include <uapi/linux/nfs.h>                    << 
 15                                                   132 
 16 /*                                                133 /*
 17  * This is the kernel NFS client file handle r    134  * This is the kernel NFS client file handle representation
 18  */                                               135  */
 19 #define NFS_MAXFHSIZE           128               136 #define NFS_MAXFHSIZE           128
 20 struct nfs_fh {                                   137 struct nfs_fh {
 21         unsigned short          size;             138         unsigned short          size;
 22         unsigned char           data[NFS_MAXFH    139         unsigned char           data[NFS_MAXFHSIZE];
 23 };                                                140 };
 24                                                   141 
 25 /*                                                142 /*
 26  * Returns a zero iff the size and data fields    143  * Returns a zero iff the size and data fields match.
 27  * Checks only "size" bytes in the data field.    144  * Checks only "size" bytes in the data field.
 28  */                                               145  */
 29 static inline int nfs_compare_fh(const struct     146 static inline int nfs_compare_fh(const struct nfs_fh *a, const struct nfs_fh *b)
 30 {                                                 147 {
 31         return a->size != b->size || memcmp(a-    148         return a->size != b->size || memcmp(a->data, b->data, a->size) != 0;
 32 }                                                 149 }
 33                                                   150 
 34 static inline void nfs_copy_fh(struct nfs_fh *    151 static inline void nfs_copy_fh(struct nfs_fh *target, const struct nfs_fh *source)
 35 {                                                 152 {
 36         target->size = source->size;              153         target->size = source->size;
 37         memcpy(target->data, source->data, sou    154         memcpy(target->data, source->data, source->size);
 38 }                                                 155 }
 39                                                   156 
                                                   >> 157 
                                                   >> 158 /*
                                                   >> 159  * This is really a general kernel constant, but since nothing like
                                                   >> 160  * this is defined in the kernel headers, I have to do it here.
                                                   >> 161  */
                                                   >> 162 #define NFS_OFFSET_MAX          ((__s64)((~(__u64)0) >> 1))
                                                   >> 163 
                                                   >> 164 
 40 enum nfs3_stable_how {                            165 enum nfs3_stable_how {
 41         NFS_UNSTABLE = 0,                         166         NFS_UNSTABLE = 0,
 42         NFS_DATA_SYNC = 1,                        167         NFS_DATA_SYNC = 1,
 43         NFS_FILE_SYNC = 2,                     !! 168         NFS_FILE_SYNC = 2
 44                                                << 
 45         /* used by direct.c to mark verf as in << 
 46         NFS_INVALID_STABLE_HOW = -1            << 
 47 };                                                169 };
 48                                                !! 170 #endif /* __KERNEL__ */
 49 #ifdef CONFIG_CRC32                            << 
 50 /**                                            << 
 51  * nfs_fhandle_hash - calculate the crc32 hash << 
 52  * @fh - pointer to filehandle                 << 
 53  *                                             << 
 54  * returns a crc32 hash for the filehandle tha << 
 55  * the one displayed by "wireshark".           << 
 56  */                                            << 
 57 static inline u32 nfs_fhandle_hash(const struc << 
 58 {                                              << 
 59         return ~crc32_le(0xFFFFFFFF, &fh->data << 
 60 }                                              << 
 61 #else /* CONFIG_CRC32 */                       << 
 62 static inline u32 nfs_fhandle_hash(const struc << 
 63 {                                              << 
 64         return 0;                              << 
 65 }                                              << 
 66 #endif /* CONFIG_CRC32 */                      << 
 67 #endif /* _LINUX_NFS_H */                         171 #endif /* _LINUX_NFS_H */
 68                                                   172 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php