1*04f81fb0SDaniel W. S. Almeida============================= 2*04f81fb0SDaniel W. S. AlmeidaNFSv4.1 Server Implementation 3*04f81fb0SDaniel W. S. Almeida============================= 4*04f81fb0SDaniel W. S. Almeida 5*04f81fb0SDaniel W. S. AlmeidaServer support for minorversion 1 can be controlled using the 6*04f81fb0SDaniel W. S. Almeida/proc/fs/nfsd/versions control file. The string output returned 7*04f81fb0SDaniel W. S. Almeidaby reading this file will contain either "+4.1" or "-4.1" 8*04f81fb0SDaniel W. S. Almeidacorrespondingly. 9*04f81fb0SDaniel W. S. Almeida 10*04f81fb0SDaniel W. S. AlmeidaCurrently, server support for minorversion 1 is enabled by default. 11*04f81fb0SDaniel W. S. AlmeidaIt can be disabled at run time by writing the string "-4.1" to 12*04f81fb0SDaniel W. S. Almeidathe /proc/fs/nfsd/versions control file. Note that to write this 13*04f81fb0SDaniel W. S. Almeidacontrol file, the nfsd service must be taken down. You can use rpc.nfsd 14*04f81fb0SDaniel W. S. Almeidafor this; see rpc.nfsd(8). 15*04f81fb0SDaniel W. S. Almeida 16*04f81fb0SDaniel W. S. Almeida(Warning: older servers will interpret "+4.1" and "-4.1" as "+4" and 17*04f81fb0SDaniel W. S. Almeida"-4", respectively. Therefore, code meant to work on both new and old 18*04f81fb0SDaniel W. S. Almeidakernels must turn 4.1 on or off *before* turning support for version 4 19*04f81fb0SDaniel W. S. Almeidaon or off; rpc.nfsd does this correctly.) 20*04f81fb0SDaniel W. S. Almeida 21*04f81fb0SDaniel W. S. AlmeidaThe NFSv4 minorversion 1 (NFSv4.1) implementation in nfsd is based 22*04f81fb0SDaniel W. S. Almeidaon RFC 5661. 23*04f81fb0SDaniel W. S. Almeida 24*04f81fb0SDaniel W. S. AlmeidaFrom the many new features in NFSv4.1 the current implementation 25*04f81fb0SDaniel W. S. Almeidafocuses on the mandatory-to-implement NFSv4.1 Sessions, providing 26*04f81fb0SDaniel W. S. Almeida"exactly once" semantics and better control and throttling of the 27*04f81fb0SDaniel W. S. Almeidaresources allocated for each client. 28*04f81fb0SDaniel W. S. Almeida 29*04f81fb0SDaniel W. S. AlmeidaThe table below, taken from the NFSv4.1 document, lists 30*04f81fb0SDaniel W. S. Almeidathe operations that are mandatory to implement (REQ), optional 31*04f81fb0SDaniel W. S. Almeida(OPT), and NFSv4.0 operations that are required not to implement (MNI) 32*04f81fb0SDaniel W. S. Almeidain minor version 1. The first column indicates the operations that 33*04f81fb0SDaniel W. S. Almeidaare not supported yet by the linux server implementation. 34*04f81fb0SDaniel W. S. Almeida 35*04f81fb0SDaniel W. S. AlmeidaThe OPTIONAL features identified and their abbreviations are as follows: 36*04f81fb0SDaniel W. S. Almeida 37*04f81fb0SDaniel W. S. Almeida- **pNFS** Parallel NFS 38*04f81fb0SDaniel W. S. Almeida- **FDELG** File Delegations 39*04f81fb0SDaniel W. S. Almeida- **DDELG** Directory Delegations 40*04f81fb0SDaniel W. S. Almeida 41*04f81fb0SDaniel W. S. AlmeidaThe following abbreviations indicate the linux server implementation status. 42*04f81fb0SDaniel W. S. Almeida 43*04f81fb0SDaniel W. S. Almeida- **I** Implemented NFSv4.1 operations. 44*04f81fb0SDaniel W. S. Almeida- **NS** Not Supported. 45*04f81fb0SDaniel W. S. Almeida- **NS\*** Unimplemented optional feature. 46*04f81fb0SDaniel W. S. Almeida 47*04f81fb0SDaniel W. S. AlmeidaOperations 48*04f81fb0SDaniel W. S. Almeida========== 49*04f81fb0SDaniel W. S. Almeida 50*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 51*04f81fb0SDaniel W. S. Almeida| Implementation status | Operation | REQ,REC, OPT or NMI | Feature (REQ, REC or OPT) | Definition | 52*04f81fb0SDaniel W. S. Almeida+=======================+======================+=====================+===========================+================+ 53*04f81fb0SDaniel W. S. Almeida| | ACCESS | REQ | | Section 18.1 | 54*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 55*04f81fb0SDaniel W. S. Almeida| I | BACKCHANNEL_CTL | REQ | | Section 18.33 | 56*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 57*04f81fb0SDaniel W. S. Almeida| I | BIND_CONN_TO_SESSION | REQ | | Section 18.34 | 58*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 59*04f81fb0SDaniel W. S. Almeida| | CLOSE | REQ | | Section 18.2 | 60*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 61*04f81fb0SDaniel W. S. Almeida| | COMMIT | REQ | | Section 18.3 | 62*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 63*04f81fb0SDaniel W. S. Almeida| | CREATE | REQ | | Section 18.4 | 64*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 65*04f81fb0SDaniel W. S. Almeida| I | CREATE_SESSION | REQ | | Section 18.36 | 66*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 67*04f81fb0SDaniel W. S. Almeida| NS* | DELEGPURGE | OPT | FDELG (REQ) | Section 18.5 | 68*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 69*04f81fb0SDaniel W. S. Almeida| | DELEGRETURN | OPT | FDELG, | Section 18.6 | 70*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 71*04f81fb0SDaniel W. S. Almeida| | | | DDELG, pNFS | | 72*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 73*04f81fb0SDaniel W. S. Almeida| | | | (REQ) | | 74*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 75*04f81fb0SDaniel W. S. Almeida| I | DESTROY_CLIENTID | REQ | | Section 18.50 | 76*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 77*04f81fb0SDaniel W. S. Almeida| I | DESTROY_SESSION | REQ | | Section 18.37 | 78*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 79*04f81fb0SDaniel W. S. Almeida| I | EXCHANGE_ID | REQ | | Section 18.35 | 80*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 81*04f81fb0SDaniel W. S. Almeida| I | FREE_STATEID | REQ | | Section 18.38 | 82*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 83*04f81fb0SDaniel W. S. Almeida| | GETATTR | REQ | | Section 18.7 | 84*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 85*04f81fb0SDaniel W. S. Almeida| I | GETDEVICEINFO | OPT | pNFS (REQ) | Section 18.40 | 86*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 87*04f81fb0SDaniel W. S. Almeida| NS* | GETDEVICELIST | OPT | pNFS (OPT) | Section 18.41 | 88*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 89*04f81fb0SDaniel W. S. Almeida| | GETFH | REQ | | Section 18.8 | 90*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 91*04f81fb0SDaniel W. S. Almeida| NS* | GET_DIR_DELEGATION | OPT | DDELG (REQ) | Section 18.39 | 92*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 93*04f81fb0SDaniel W. S. Almeida| I | LAYOUTCOMMIT | OPT | pNFS (REQ) | Section 18.42 | 94*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 95*04f81fb0SDaniel W. S. Almeida| I | LAYOUTGET | OPT | pNFS (REQ) | Section 18.43 | 96*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 97*04f81fb0SDaniel W. S. Almeida| I | LAYOUTRETURN | OPT | pNFS (REQ) | Section 18.44 | 98*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 99*04f81fb0SDaniel W. S. Almeida| | LINK | OPT | | Section 18.9 | 100*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 101*04f81fb0SDaniel W. S. Almeida| | LOCK | REQ | | Section 18.10 | 102*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 103*04f81fb0SDaniel W. S. Almeida| | LOCKT | REQ | | Section 18.11 | 104*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 105*04f81fb0SDaniel W. S. Almeida| | LOCKU | REQ | | Section 18.12 | 106*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 107*04f81fb0SDaniel W. S. Almeida| | LOOKUP | REQ | | Section 18.13 | 108*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 109*04f81fb0SDaniel W. S. Almeida| | LOOKUPP | REQ | | Section 18.14 | 110*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 111*04f81fb0SDaniel W. S. Almeida| | NVERIFY | REQ | | Section 18.15 | 112*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 113*04f81fb0SDaniel W. S. Almeida| | OPEN | REQ | | Section 18.16 | 114*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 115*04f81fb0SDaniel W. S. Almeida| NS* | OPENATTR | OPT | | Section 18.17 | 116*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 117*04f81fb0SDaniel W. S. Almeida| | OPEN_CONFIRM | MNI | | N/A | 118*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 119*04f81fb0SDaniel W. S. Almeida| | OPEN_DOWNGRADE | REQ | | Section 18.18 | 120*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 121*04f81fb0SDaniel W. S. Almeida| | PUTFH | REQ | | Section 18.19 | 122*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 123*04f81fb0SDaniel W. S. Almeida| | PUTPUBFH | REQ | | Section 18.20 | 124*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 125*04f81fb0SDaniel W. S. Almeida| | PUTROOTFH | REQ | | Section 18.21 | 126*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 127*04f81fb0SDaniel W. S. Almeida| | READ | REQ | | Section 18.22 | 128*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 129*04f81fb0SDaniel W. S. Almeida| | READDIR | REQ | | Section 18.23 | 130*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 131*04f81fb0SDaniel W. S. Almeida| | READLINK | OPT | | Section 18.24 | 132*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 133*04f81fb0SDaniel W. S. Almeida| | RECLAIM_COMPLETE | REQ | | Section 18.51 | 134*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 135*04f81fb0SDaniel W. S. Almeida| | RELEASE_LOCKOWNER | MNI | | N/A | 136*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 137*04f81fb0SDaniel W. S. Almeida| | REMOVE | REQ | | Section 18.25 | 138*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 139*04f81fb0SDaniel W. S. Almeida| | RENAME | REQ | | Section 18.26 | 140*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 141*04f81fb0SDaniel W. S. Almeida| | RENEW | MNI | | N/A | 142*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 143*04f81fb0SDaniel W. S. Almeida| | RESTOREFH | REQ | | Section 18.27 | 144*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 145*04f81fb0SDaniel W. S. Almeida| | SAVEFH | REQ | | Section 18.28 | 146*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 147*04f81fb0SDaniel W. S. Almeida| | SECINFO | REQ | | Section 18.29 | 148*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 149*04f81fb0SDaniel W. S. Almeida| I | SECINFO_NO_NAME | REC | pNFS files | Section 18.45, | 150*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 151*04f81fb0SDaniel W. S. Almeida| | | | layout (REQ) | Section 13.12 | 152*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 153*04f81fb0SDaniel W. S. Almeida| I | SEQUENCE | REQ | | Section 18.46 | 154*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 155*04f81fb0SDaniel W. S. Almeida| | SETATTR | REQ | | Section 18.30 | 156*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 157*04f81fb0SDaniel W. S. Almeida| | SETCLIENTID | MNI | | N/A | 158*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 159*04f81fb0SDaniel W. S. Almeida| | SETCLIENTID_CONFIRM | MNI | | N/A | 160*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 161*04f81fb0SDaniel W. S. Almeida| NS | SET_SSV | REQ | | Section 18.47 | 162*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 163*04f81fb0SDaniel W. S. Almeida| I | TEST_STATEID | REQ | | Section 18.48 | 164*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 165*04f81fb0SDaniel W. S. Almeida| | VERIFY | REQ | | Section 18.31 | 166*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 167*04f81fb0SDaniel W. S. Almeida| NS* | WANT_DELEGATION | OPT | FDELG (OPT) | Section 18.49 | 168*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 169*04f81fb0SDaniel W. S. Almeida| | WRITE | REQ | | Section 18.32 | 170*04f81fb0SDaniel W. S. Almeida+-----------------------+----------------------+---------------------+---------------------------+----------------+ 171*04f81fb0SDaniel W. S. Almeida 172*04f81fb0SDaniel W. S. Almeida 173*04f81fb0SDaniel W. S. AlmeidaCallback Operations 174*04f81fb0SDaniel W. S. Almeida=================== 175*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 176*04f81fb0SDaniel W. S. Almeida| Implementation status | Operation | REQ,REC, OPT or NMI | Feature (REQ, REC or OPT) | Definition | 177*04f81fb0SDaniel W. S. Almeida+=======================+=========================+=====================+===========================+===============+ 178*04f81fb0SDaniel W. S. Almeida| | CB_GETATTR | OPT | FDELG (REQ) | Section 20.1 | 179*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 180*04f81fb0SDaniel W. S. Almeida| I | CB_LAYOUTRECALL | OPT | pNFS (REQ) | Section 20.3 | 181*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 182*04f81fb0SDaniel W. S. Almeida| NS* | CB_NOTIFY | OPT | DDELG (REQ) | Section 20.4 | 183*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 184*04f81fb0SDaniel W. S. Almeida| NS* | CB_NOTIFY_DEVICEID | OPT | pNFS (OPT) | Section 20.12 | 185*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 186*04f81fb0SDaniel W. S. Almeida| NS* | CB_NOTIFY_LOCK | OPT | | Section 20.11 | 187*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 188*04f81fb0SDaniel W. S. Almeida| NS* | CB_PUSH_DELEG | OPT | FDELG (OPT) | Section 20.5 | 189*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 190*04f81fb0SDaniel W. S. Almeida| | CB_RECALL | OPT | FDELG, | Section 20.2 | 191*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 192*04f81fb0SDaniel W. S. Almeida| | | | DDELG, pNFS | | 193*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 194*04f81fb0SDaniel W. S. Almeida| | | | (REQ) | | 195*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 196*04f81fb0SDaniel W. S. Almeida| NS* | CB_RECALL_ANY | OPT | FDELG, | Section 20.6 | 197*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 198*04f81fb0SDaniel W. S. Almeida| | | | DDELG, pNFS | | 199*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 200*04f81fb0SDaniel W. S. Almeida| | | | (REQ) | | 201*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 202*04f81fb0SDaniel W. S. Almeida| NS | CB_RECALL_SLOT | REQ | | Section 20.8 | 203*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 204*04f81fb0SDaniel W. S. Almeida| NS* | CB_RECALLABLE_OBJ_AVAIL | OPT | DDELG, pNFS | Section 20.7 | 205*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 206*04f81fb0SDaniel W. S. Almeida| | | | (REQ) | | 207*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 208*04f81fb0SDaniel W. S. Almeida| I | CB_SEQUENCE | OPT | FDELG, | Section 20.9 | 209*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 210*04f81fb0SDaniel W. S. Almeida| | | | DDELG, pNFS | | 211*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 212*04f81fb0SDaniel W. S. Almeida| | | | (REQ) | | 213*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 214*04f81fb0SDaniel W. S. Almeida| NS* | CB_WANTS_CANCELLED | OPT | FDELG, | Section 20.10 | 215*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 216*04f81fb0SDaniel W. S. Almeida| | | | DDELG, pNFS | | 217*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 218*04f81fb0SDaniel W. S. Almeida| | | | (REQ) | | 219*04f81fb0SDaniel W. S. Almeida+-----------------------+-------------------------+---------------------+---------------------------+---------------+ 220*04f81fb0SDaniel W. S. Almeida 221*04f81fb0SDaniel W. S. Almeida 222*04f81fb0SDaniel W. S. AlmeidaImplementation notes: 223*04f81fb0SDaniel W. S. Almeida===================== 224*04f81fb0SDaniel W. S. Almeida 225*04f81fb0SDaniel W. S. AlmeidaSSV: 226*04f81fb0SDaniel W. S. Almeida The spec claims this is mandatory, but we don't actually know of any 227*04f81fb0SDaniel W. S. Almeida implementations, so we're ignoring it for now. The server returns 228*04f81fb0SDaniel W. S. Almeida NFS4ERR_ENCR_ALG_UNSUPP on EXCHANGE_ID, which should be future-proof. 229*04f81fb0SDaniel W. S. Almeida 230*04f81fb0SDaniel W. S. AlmeidaGSS on the backchannel: 231*04f81fb0SDaniel W. S. Almeida Again, theoretically required but not widely implemented (in 232*04f81fb0SDaniel W. S. Almeida particular, the current Linux client doesn't request it). We return 233*04f81fb0SDaniel W. S. Almeida NFS4ERR_ENCR_ALG_UNSUPP on CREATE_SESSION. 234*04f81fb0SDaniel W. S. Almeida 235*04f81fb0SDaniel W. S. AlmeidaDELEGPURGE: 236*04f81fb0SDaniel W. S. Almeida mandatory only for servers that support CLAIM_DELEGATE_PREV and/or 237*04f81fb0SDaniel W. S. Almeida CLAIM_DELEG_PREV_FH (which allows clients to keep delegations that 238*04f81fb0SDaniel W. S. Almeida persist across client reboots). Thus we need not implement this for 239*04f81fb0SDaniel W. S. Almeida now. 240*04f81fb0SDaniel W. S. Almeida 241*04f81fb0SDaniel W. S. AlmeidaEXCHANGE_ID: 242*04f81fb0SDaniel W. S. Almeida implementation ids are ignored 243*04f81fb0SDaniel W. S. Almeida 244*04f81fb0SDaniel W. S. AlmeidaCREATE_SESSION: 245*04f81fb0SDaniel W. S. Almeida backchannel attributes are ignored 246*04f81fb0SDaniel W. S. Almeida 247*04f81fb0SDaniel W. S. AlmeidaSEQUENCE: 248*04f81fb0SDaniel W. S. Almeida no support for dynamic slot table renegotiation (optional) 249*04f81fb0SDaniel W. S. Almeida 250*04f81fb0SDaniel W. S. AlmeidaNonstandard compound limitations: 251*04f81fb0SDaniel W. S. Almeida No support for a sessions fore channel RPC compound that requires both a 252*04f81fb0SDaniel W. S. Almeida ca_maxrequestsize request and a ca_maxresponsesize reply, so we may 253*04f81fb0SDaniel W. S. Almeida fail to live up to the promise we made in CREATE_SESSION fore channel 254*04f81fb0SDaniel W. S. Almeida negotiation. 255*04f81fb0SDaniel W. S. Almeida 256*04f81fb0SDaniel W. S. AlmeidaSee also http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues. 257