aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs3xdr.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2010-12-14 09:59:18 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2010-12-16 12:37:25 -0500
commit9f06c719f474be7003763284a990bed6377bb0d4 (patch)
tree409ebc3505f943bfdb933ab0acd76ffb5347b372 /fs/nfs/nfs3xdr.c
parent1ac7c23e4af5e83525137661595000099f1ce94f (diff)
SUNRPC: New xdr_streams XDR encoder API
Now that all client-side XDR encoder routines use xdr_streams, there should be no need to support the legacy calling sequence [rpc_rqst *, __be32 *, RPC arg *] anywhere. We can construct an xdr_stream in the generic RPC code, instead of in each encoder function. Also, all the client-side encoder functions return 0 now, making a return value superfluous. Take this opportunity to convert them to return void instead. This is a refactoring change. It should not cause different behavior. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Tested-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs3xdr.c')
-rw-r--r--fs/nfs/nfs3xdr.c241
1 files changed, 93 insertions, 148 deletions
diff --git a/fs/nfs/nfs3xdr.c b/fs/nfs/nfs3xdr.c
index 15c93ccd90c5..ae1b1a43f05e 100644
--- a/fs/nfs/nfs3xdr.c
+++ b/fs/nfs/nfs3xdr.c
@@ -835,14 +835,11 @@ static void encode_diropargs3(struct xdr_stream *xdr, const struct nfs_fh *fh,
835 * nfs_fh3 object; 835 * nfs_fh3 object;
836 * }; 836 * };
837 */ 837 */
838static int nfs3_xdr_enc_getattr3args(struct rpc_rqst *req, __be32 *p, 838static void nfs3_xdr_enc_getattr3args(struct rpc_rqst *req,
839 const struct nfs_fh *fh) 839 struct xdr_stream *xdr,
840 const struct nfs_fh *fh)
840{ 841{
841 struct xdr_stream xdr; 842 encode_nfs_fh3(xdr, fh);
842
843 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
844 encode_nfs_fh3(&xdr, fh);
845 return 0;
846} 843}
847 844
848/* 845/*
@@ -876,16 +873,13 @@ static void encode_sattrguard3(struct xdr_stream *xdr,
876 } 873 }
877} 874}
878 875
879static int nfs3_xdr_enc_setattr3args(struct rpc_rqst *req, __be32 *p, 876static void nfs3_xdr_enc_setattr3args(struct rpc_rqst *req,
880 const struct nfs3_sattrargs *args) 877 struct xdr_stream *xdr,
878 const struct nfs3_sattrargs *args)
881{ 879{
882 struct xdr_stream xdr; 880 encode_nfs_fh3(xdr, args->fh);
883 881 encode_sattr3(xdr, args->sattr);
884 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 882 encode_sattrguard3(xdr, args);
885 encode_nfs_fh3(&xdr, args->fh);
886 encode_sattr3(&xdr, args->sattr);
887 encode_sattrguard3(&xdr, args);
888 return 0;
889} 883}
890 884
891/* 885/*
@@ -895,14 +889,11 @@ static int nfs3_xdr_enc_setattr3args(struct rpc_rqst *req, __be32 *p,
895 * diropargs3 what; 889 * diropargs3 what;
896 * }; 890 * };
897 */ 891 */
898static int nfs3_xdr_enc_lookup3args(struct rpc_rqst *req, __be32 *p, 892static void nfs3_xdr_enc_lookup3args(struct rpc_rqst *req,
899 const struct nfs3_diropargs *args) 893 struct xdr_stream *xdr,
894 const struct nfs3_diropargs *args)
900{ 895{
901 struct xdr_stream xdr; 896 encode_diropargs3(xdr, args->fh, args->name, args->len);
902
903 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
904 encode_diropargs3(&xdr, args->fh, args->name, args->len);
905 return 0;
906} 897}
907 898
908/* 899/*
@@ -920,14 +911,11 @@ static void encode_access3args(struct xdr_stream *xdr,
920 encode_uint32(xdr, args->access); 911 encode_uint32(xdr, args->access);
921} 912}
922 913
923static int nfs3_xdr_enc_access3args(struct rpc_rqst *req, __be32 *p, 914static void nfs3_xdr_enc_access3args(struct rpc_rqst *req,
924 const struct nfs3_accessargs *args) 915 struct xdr_stream *xdr,
916 const struct nfs3_accessargs *args)
925{ 917{
926 struct xdr_stream xdr; 918 encode_access3args(xdr, args);
927
928 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
929 encode_access3args(&xdr, args);
930 return 0;
931} 919}
932 920
933/* 921/*
@@ -937,16 +925,13 @@ static int nfs3_xdr_enc_access3args(struct rpc_rqst *req, __be32 *p,
937 * nfs_fh3 symlink; 925 * nfs_fh3 symlink;
938 * }; 926 * };
939 */ 927 */
940static int nfs3_xdr_enc_readlink3args(struct rpc_rqst *req, __be32 *p, 928static void nfs3_xdr_enc_readlink3args(struct rpc_rqst *req,
941 const struct nfs3_readlinkargs *args) 929 struct xdr_stream *xdr,
930 const struct nfs3_readlinkargs *args)
942{ 931{
943 struct xdr_stream xdr; 932 encode_nfs_fh3(xdr, args->fh);
944
945 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
946 encode_nfs_fh3(&xdr, args->fh);
947 prepare_reply_buffer(req, args->pages, args->pgbase, 933 prepare_reply_buffer(req, args->pages, args->pgbase,
948 args->pglen, NFS3_readlinkres_sz); 934 args->pglen, NFS3_readlinkres_sz);
949 return 0;
950} 935}
951 936
952/* 937/*
@@ -970,17 +955,14 @@ static void encode_read3args(struct xdr_stream *xdr,
970 *p = cpu_to_be32(args->count); 955 *p = cpu_to_be32(args->count);
971} 956}
972 957
973static int nfs3_xdr_enc_read3args(struct rpc_rqst *req, __be32 *p, 958static void nfs3_xdr_enc_read3args(struct rpc_rqst *req,
974 const struct nfs_readargs *args) 959 struct xdr_stream *xdr,
960 const struct nfs_readargs *args)
975{ 961{
976 struct xdr_stream xdr; 962 encode_read3args(xdr, args);
977
978 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
979 encode_read3args(&xdr, args);
980 prepare_reply_buffer(req, args->pages, args->pgbase, 963 prepare_reply_buffer(req, args->pages, args->pgbase,
981 args->count, NFS3_readres_sz); 964 args->count, NFS3_readres_sz);
982 req->rq_rcv_buf.flags |= XDRBUF_READ; 965 req->rq_rcv_buf.flags |= XDRBUF_READ;
983 return 0;
984} 966}
985 967
986/* 968/*
@@ -1015,15 +997,12 @@ static void encode_write3args(struct xdr_stream *xdr,
1015 xdr_write_pages(xdr, args->pages, args->pgbase, args->count); 997 xdr_write_pages(xdr, args->pages, args->pgbase, args->count);
1016} 998}
1017 999
1018static int nfs3_xdr_enc_write3args(struct rpc_rqst *req, __be32 *p, 1000static void nfs3_xdr_enc_write3args(struct rpc_rqst *req,
1019 const struct nfs_writeargs *args) 1001 struct xdr_stream *xdr,
1002 const struct nfs_writeargs *args)
1020{ 1003{
1021 struct xdr_stream xdr; 1004 encode_write3args(xdr, args);
1022 1005 xdr->buf->flags |= XDRBUF_WRITE;
1023 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1024 encode_write3args(&xdr, args);
1025 xdr.buf->flags |= XDRBUF_WRITE;
1026 return 0;
1027} 1006}
1028 1007
1029/* 1008/*
@@ -1065,15 +1044,12 @@ static void encode_createhow3(struct xdr_stream *xdr,
1065 } 1044 }
1066} 1045}
1067 1046
1068static int nfs3_xdr_enc_create3args(struct rpc_rqst *req, __be32 *p, 1047static void nfs3_xdr_enc_create3args(struct rpc_rqst *req,
1069 const struct nfs3_createargs *args) 1048 struct xdr_stream *xdr,
1049 const struct nfs3_createargs *args)
1070{ 1050{
1071 struct xdr_stream xdr; 1051 encode_diropargs3(xdr, args->fh, args->name, args->len);
1072 1052 encode_createhow3(xdr, args);
1073 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1074 encode_diropargs3(&xdr, args->fh, args->name, args->len);
1075 encode_createhow3(&xdr, args);
1076 return 0;
1077} 1053}
1078 1054
1079/* 1055/*
@@ -1084,15 +1060,12 @@ static int nfs3_xdr_enc_create3args(struct rpc_rqst *req, __be32 *p,
1084 * sattr3 attributes; 1060 * sattr3 attributes;
1085 * }; 1061 * };
1086 */ 1062 */
1087static int nfs3_xdr_enc_mkdir3args(struct rpc_rqst *req, __be32 *p, 1063static void nfs3_xdr_enc_mkdir3args(struct rpc_rqst *req,
1088 const struct nfs3_mkdirargs *args) 1064 struct xdr_stream *xdr,
1065 const struct nfs3_mkdirargs *args)
1089{ 1066{
1090 struct xdr_stream xdr; 1067 encode_diropargs3(xdr, args->fh, args->name, args->len);
1091 1068 encode_sattr3(xdr, args->sattr);
1092 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1093 encode_diropargs3(&xdr, args->fh, args->name, args->len);
1094 encode_sattr3(&xdr, args->sattr);
1095 return 0;
1096} 1069}
1097 1070
1098/* 1071/*
@@ -1115,15 +1088,12 @@ static void encode_symlinkdata3(struct xdr_stream *xdr,
1115 encode_nfspath3(xdr, args->pages, args->pathlen); 1088 encode_nfspath3(xdr, args->pages, args->pathlen);
1116} 1089}
1117 1090
1118static int nfs3_xdr_enc_symlink3args(struct rpc_rqst *req, __be32 *p, 1091static void nfs3_xdr_enc_symlink3args(struct rpc_rqst *req,
1119 const struct nfs3_symlinkargs *args) 1092 struct xdr_stream *xdr,
1093 const struct nfs3_symlinkargs *args)
1120{ 1094{
1121 struct xdr_stream xdr; 1095 encode_diropargs3(xdr, args->fromfh, args->fromname, args->fromlen);
1122 1096 encode_symlinkdata3(xdr, args);
1123 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1124 encode_diropargs3(&xdr, args->fromfh, args->fromname, args->fromlen);
1125 encode_symlinkdata3(&xdr, args);
1126 return 0;
1127} 1097}
1128 1098
1129/* 1099/*
@@ -1178,15 +1148,12 @@ static void encode_mknoddata3(struct xdr_stream *xdr,
1178 } 1148 }
1179} 1149}
1180 1150
1181static int nfs3_xdr_enc_mknod3args(struct rpc_rqst *req, __be32 *p, 1151static void nfs3_xdr_enc_mknod3args(struct rpc_rqst *req,
1182 const struct nfs3_mknodargs *args) 1152 struct xdr_stream *xdr,
1153 const struct nfs3_mknodargs *args)
1183{ 1154{
1184 struct xdr_stream xdr; 1155 encode_diropargs3(xdr, args->fh, args->name, args->len);
1185 1156 encode_mknoddata3(xdr, args);
1186 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1187 encode_diropargs3(&xdr, args->fh, args->name, args->len);
1188 encode_mknoddata3(&xdr, args);
1189 return 0;
1190} 1157}
1191 1158
1192/* 1159/*
@@ -1196,14 +1163,11 @@ static int nfs3_xdr_enc_mknod3args(struct rpc_rqst *req, __be32 *p,
1196 * diropargs3 object; 1163 * diropargs3 object;
1197 * }; 1164 * };
1198 */ 1165 */
1199static int nfs3_xdr_enc_remove3args(struct rpc_rqst *req, __be32 *p, 1166static void nfs3_xdr_enc_remove3args(struct rpc_rqst *req,
1200 const struct nfs_removeargs *args) 1167 struct xdr_stream *xdr,
1168 const struct nfs_removeargs *args)
1201{ 1169{
1202 struct xdr_stream xdr; 1170 encode_diropargs3(xdr, args->fh, args->name.name, args->name.len);
1203
1204 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1205 encode_diropargs3(&xdr, args->fh, args->name.name, args->name.len);
1206 return 0;
1207} 1171}
1208 1172
1209/* 1173/*
@@ -1214,17 +1178,15 @@ static int nfs3_xdr_enc_remove3args(struct rpc_rqst *req, __be32 *p,
1214 * diropargs3 to; 1178 * diropargs3 to;
1215 * }; 1179 * };
1216 */ 1180 */
1217static int nfs3_xdr_enc_rename3args(struct rpc_rqst *req, __be32 *p, 1181static void nfs3_xdr_enc_rename3args(struct rpc_rqst *req,
1218 const struct nfs_renameargs *args) 1182 struct xdr_stream *xdr,
1183 const struct nfs_renameargs *args)
1219{ 1184{
1220 const struct qstr *old = args->old_name; 1185 const struct qstr *old = args->old_name;
1221 const struct qstr *new = args->new_name; 1186 const struct qstr *new = args->new_name;
1222 struct xdr_stream xdr;
1223 1187
1224 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1188 encode_diropargs3(xdr, args->old_dir, old->name, old->len);
1225 encode_diropargs3(&xdr, args->old_dir, old->name, old->len); 1189 encode_diropargs3(xdr, args->new_dir, new->name, new->len);
1226 encode_diropargs3(&xdr, args->new_dir, new->name, new->len);
1227 return 0;
1228} 1190}
1229 1191
1230/* 1192/*
@@ -1235,15 +1197,12 @@ static int nfs3_xdr_enc_rename3args(struct rpc_rqst *req, __be32 *p,
1235 * diropargs3 link; 1197 * diropargs3 link;
1236 * }; 1198 * };
1237 */ 1199 */
1238static int nfs3_xdr_enc_link3args(struct rpc_rqst *req, __be32 *p, 1200static void nfs3_xdr_enc_link3args(struct rpc_rqst *req,
1239 const struct nfs3_linkargs *args) 1201 struct xdr_stream *xdr,
1202 const struct nfs3_linkargs *args)
1240{ 1203{
1241 struct xdr_stream xdr; 1204 encode_nfs_fh3(xdr, args->fromfh);
1242 1205 encode_diropargs3(xdr, args->tofh, args->toname, args->tolen);
1243 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1244 encode_nfs_fh3(&xdr, args->fromfh);
1245 encode_diropargs3(&xdr, args->tofh, args->toname, args->tolen);
1246 return 0;
1247} 1206}
1248 1207
1249/* 1208/*
@@ -1269,16 +1228,13 @@ static void encode_readdir3args(struct xdr_stream *xdr,
1269 *p = cpu_to_be32(args->count); 1228 *p = cpu_to_be32(args->count);
1270} 1229}
1271 1230
1272static int nfs3_xdr_enc_readdir3args(struct rpc_rqst *req, __be32 *p, 1231static void nfs3_xdr_enc_readdir3args(struct rpc_rqst *req,
1273 const struct nfs3_readdirargs *args) 1232 struct xdr_stream *xdr,
1233 const struct nfs3_readdirargs *args)
1274{ 1234{
1275 struct xdr_stream xdr; 1235 encode_readdir3args(xdr, args);
1276
1277 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1278 encode_readdir3args(&xdr, args);
1279 prepare_reply_buffer(req, args->pages, 0, 1236 prepare_reply_buffer(req, args->pages, 0,
1280 args->count, NFS3_readdirres_sz); 1237 args->count, NFS3_readdirres_sz);
1281 return 0;
1282} 1238}
1283 1239
1284/* 1240/*
@@ -1312,16 +1268,13 @@ static void encode_readdirplus3args(struct xdr_stream *xdr,
1312 *p = cpu_to_be32(args->count); 1268 *p = cpu_to_be32(args->count);
1313} 1269}
1314 1270
1315static int nfs3_xdr_enc_readdirplus3args(struct rpc_rqst *req, __be32 *p, 1271static void nfs3_xdr_enc_readdirplus3args(struct rpc_rqst *req,
1316 const struct nfs3_readdirargs *args) 1272 struct xdr_stream *xdr,
1273 const struct nfs3_readdirargs *args)
1317{ 1274{
1318 struct xdr_stream xdr; 1275 encode_readdirplus3args(xdr, args);
1319
1320 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1321 encode_readdirplus3args(&xdr, args);
1322 prepare_reply_buffer(req, args->pages, 0, 1276 prepare_reply_buffer(req, args->pages, 0,
1323 args->count, NFS3_readdirres_sz); 1277 args->count, NFS3_readdirres_sz);
1324 return 0;
1325} 1278}
1326 1279
1327/* 1280/*
@@ -1345,57 +1298,49 @@ static void encode_commit3args(struct xdr_stream *xdr,
1345 *p = cpu_to_be32(args->count); 1298 *p = cpu_to_be32(args->count);
1346} 1299}
1347 1300
1348static int nfs3_xdr_enc_commit3args(struct rpc_rqst *req, __be32 *p, 1301static void nfs3_xdr_enc_commit3args(struct rpc_rqst *req,
1349 const struct nfs_writeargs *args) 1302 struct xdr_stream *xdr,
1303 const struct nfs_writeargs *args)
1350{ 1304{
1351 struct xdr_stream xdr; 1305 encode_commit3args(xdr, args);
1352
1353 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1354 encode_commit3args(&xdr, args);
1355 return 0;
1356} 1306}
1357 1307
1358#ifdef CONFIG_NFS_V3_ACL 1308#ifdef CONFIG_NFS_V3_ACL
1359 1309
1360static int nfs3_xdr_enc_getacl3args(struct rpc_rqst *req, __be32 *p, 1310static void nfs3_xdr_enc_getacl3args(struct rpc_rqst *req,
1361 const struct nfs3_getaclargs *args) 1311 struct xdr_stream *xdr,
1312 const struct nfs3_getaclargs *args)
1362{ 1313{
1363 struct xdr_stream xdr; 1314 encode_nfs_fh3(xdr, args->fh);
1364 1315 encode_uint32(xdr, args->mask);
1365 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1366 encode_nfs_fh3(&xdr, args->fh);
1367 encode_uint32(&xdr, args->mask);
1368 if (args->mask & (NFS_ACL | NFS_DFACL)) 1316 if (args->mask & (NFS_ACL | NFS_DFACL))
1369 prepare_reply_buffer(req, args->pages, 0, 1317 prepare_reply_buffer(req, args->pages, 0,
1370 NFSACL_MAXPAGES << PAGE_SHIFT, 1318 NFSACL_MAXPAGES << PAGE_SHIFT,
1371 ACL3_getaclres_sz); 1319 ACL3_getaclres_sz);
1372 return 0;
1373} 1320}
1374 1321
1375static int nfs3_xdr_enc_setacl3args(struct rpc_rqst *req, __be32 *p, 1322static void nfs3_xdr_enc_setacl3args(struct rpc_rqst *req,
1376 const struct nfs3_setaclargs *args) 1323 struct xdr_stream *xdr,
1324 const struct nfs3_setaclargs *args)
1377{ 1325{
1378 struct xdr_stream xdr;
1379 unsigned int base; 1326 unsigned int base;
1380 int error; 1327 int error;
1381 1328
1382 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1329 encode_nfs_fh3(xdr, NFS_FH(args->inode));
1383 encode_nfs_fh3(&xdr, NFS_FH(args->inode)); 1330 encode_uint32(xdr, args->mask);
1384 encode_uint32(&xdr, args->mask);
1385 if (args->npages != 0) 1331 if (args->npages != 0)
1386 xdr_write_pages(&xdr, args->pages, 0, args->len); 1332 xdr_write_pages(xdr, args->pages, 0, args->len);
1387 1333
1388 base = req->rq_slen; 1334 base = req->rq_slen;
1389 error = nfsacl_encode(xdr.buf, base, args->inode, 1335 error = nfsacl_encode(xdr->buf, base, args->inode,
1390 (args->mask & NFS_ACL) ? 1336 (args->mask & NFS_ACL) ?
1391 args->acl_access : NULL, 1, 0); 1337 args->acl_access : NULL, 1, 0);
1392 BUG_ON(error < 0); 1338 BUG_ON(error < 0);
1393 error = nfsacl_encode(xdr.buf, base + error, args->inode, 1339 error = nfsacl_encode(xdr->buf, base + error, args->inode,
1394 (args->mask & NFS_DFACL) ? 1340 (args->mask & NFS_DFACL) ?
1395 args->acl_default : NULL, 1, 1341 args->acl_default : NULL, 1,
1396 NFS_ACL_DEFAULT); 1342 NFS_ACL_DEFAULT);
1397 BUG_ON(error < 0); 1343 BUG_ON(error < 0);
1398 return 0;
1399} 1344}
1400 1345
1401#endif /* CONFIG_NFS_V3_ACL */ 1346#endif /* CONFIG_NFS_V3_ACL */
@@ -2506,7 +2451,7 @@ out_default:
2506#define PROC(proc, argtype, restype, timer) \ 2451#define PROC(proc, argtype, restype, timer) \
2507[NFS3PROC_##proc] = { \ 2452[NFS3PROC_##proc] = { \
2508 .p_proc = NFS3PROC_##proc, \ 2453 .p_proc = NFS3PROC_##proc, \
2509 .p_encode = (kxdrproc_t)nfs3_xdr_enc_##argtype##3args, \ 2454 .p_encode = (kxdreproc_t)nfs3_xdr_enc_##argtype##3args, \
2510 .p_decode = (kxdrproc_t)nfs3_xdr_dec_##restype##3res, \ 2455 .p_decode = (kxdrproc_t)nfs3_xdr_dec_##restype##3res, \
2511 .p_arglen = NFS3_##argtype##args_sz, \ 2456 .p_arglen = NFS3_##argtype##args_sz, \
2512 .p_replen = NFS3_##restype##res_sz, \ 2457 .p_replen = NFS3_##restype##res_sz, \
@@ -2549,7 +2494,7 @@ struct rpc_version nfs_version3 = {
2549static struct rpc_procinfo nfs3_acl_procedures[] = { 2494static struct rpc_procinfo nfs3_acl_procedures[] = {
2550 [ACLPROC3_GETACL] = { 2495 [ACLPROC3_GETACL] = {
2551 .p_proc = ACLPROC3_GETACL, 2496 .p_proc = ACLPROC3_GETACL,
2552 .p_encode = (kxdrproc_t)nfs3_xdr_enc_getacl3args, 2497 .p_encode = (kxdreproc_t)nfs3_xdr_enc_getacl3args,
2553 .p_decode = (kxdrproc_t)nfs3_xdr_dec_getacl3res, 2498 .p_decode = (kxdrproc_t)nfs3_xdr_dec_getacl3res,
2554 .p_arglen = ACL3_getaclargs_sz, 2499 .p_arglen = ACL3_getaclargs_sz,
2555 .p_replen = ACL3_getaclres_sz, 2500 .p_replen = ACL3_getaclres_sz,
@@ -2558,7 +2503,7 @@ static struct rpc_procinfo nfs3_acl_procedures[] = {
2558 }, 2503 },
2559 [ACLPROC3_SETACL] = { 2504 [ACLPROC3_SETACL] = {
2560 .p_proc = ACLPROC3_SETACL, 2505 .p_proc = ACLPROC3_SETACL,
2561 .p_encode = (kxdrproc_t)nfs3_xdr_enc_setacl3args, 2506 .p_encode = (kxdreproc_t)nfs3_xdr_enc_setacl3args,
2562 .p_decode = (kxdrproc_t)nfs3_xdr_dec_setacl3res, 2507 .p_decode = (kxdrproc_t)nfs3_xdr_dec_setacl3res,
2563 .p_arglen = ACL3_setaclargs_sz, 2508 .p_arglen = ACL3_setaclargs_sz,
2564 .p_replen = ACL3_setaclres_sz, 2509 .p_replen = ACL3_setaclres_sz,