aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4xdr.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/nfs4xdr.c')
-rw-r--r--fs/nfs/nfs4xdr.c578
1 files changed, 180 insertions, 398 deletions
diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
index 8f6c061bb6c4..d1e4c8f8a0a9 100644
--- a/fs/nfs/nfs4xdr.c
+++ b/fs/nfs/nfs4xdr.c
@@ -607,7 +607,7 @@ static void encode_nfs4_verifier(struct xdr_stream *xdr, const nfs4_verifier *ve
607 xdr_encode_opaque_fixed(p, verf->data, NFS4_VERIFIER_SIZE); 607 xdr_encode_opaque_fixed(p, verf->data, NFS4_VERIFIER_SIZE);
608} 608}
609 609
610static int encode_attrs(struct xdr_stream *xdr, const struct iattr *iap, const struct nfs_server *server) 610static void encode_attrs(struct xdr_stream *xdr, const struct iattr *iap, const struct nfs_server *server)
611{ 611{
612 char owner_name[IDMAP_NAMESZ]; 612 char owner_name[IDMAP_NAMESZ];
613 char owner_group[IDMAP_NAMESZ]; 613 char owner_group[IDMAP_NAMESZ];
@@ -618,7 +618,6 @@ static int encode_attrs(struct xdr_stream *xdr, const struct iattr *iap, const s
618 int len; 618 int len;
619 uint32_t bmval0 = 0; 619 uint32_t bmval0 = 0;
620 uint32_t bmval1 = 0; 620 uint32_t bmval1 = 0;
621 int status;
622 621
623 /* 622 /*
624 * We reserve enough space to write the entire attribute buffer at once. 623 * We reserve enough space to write the entire attribute buffer at once.
@@ -729,12 +728,10 @@ static int encode_attrs(struct xdr_stream *xdr, const struct iattr *iap, const s
729 *q++ = htonl(bmval1); 728 *q++ = htonl(bmval1);
730 *q++ = htonl(len); 729 *q++ = htonl(len);
731 730
732 status = 0;
733/* out: */ 731/* out: */
734 return status;
735} 732}
736 733
737static int encode_access(struct xdr_stream *xdr, u32 access, struct compound_hdr *hdr) 734static void encode_access(struct xdr_stream *xdr, u32 access, struct compound_hdr *hdr)
738{ 735{
739 __be32 *p; 736 __be32 *p;
740 737
@@ -742,11 +739,9 @@ static int encode_access(struct xdr_stream *xdr, u32 access, struct compound_hdr
742 WRITE32(OP_ACCESS); 739 WRITE32(OP_ACCESS);
743 WRITE32(access); 740 WRITE32(access);
744 hdr->nops++; 741 hdr->nops++;
745
746 return 0;
747} 742}
748 743
749static int encode_close(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_hdr *hdr) 744static void encode_close(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_hdr *hdr)
750{ 745{
751 __be32 *p; 746 __be32 *p;
752 747
@@ -755,11 +750,9 @@ static int encode_close(struct xdr_stream *xdr, const struct nfs_closeargs *arg,
755 WRITE32(arg->seqid->sequence->counter); 750 WRITE32(arg->seqid->sequence->counter);
756 WRITEMEM(arg->stateid->data, NFS4_STATEID_SIZE); 751 WRITEMEM(arg->stateid->data, NFS4_STATEID_SIZE);
757 hdr->nops++; 752 hdr->nops++;
758
759 return 0;
760} 753}
761 754
762static int encode_commit(struct xdr_stream *xdr, const struct nfs_writeargs *args, struct compound_hdr *hdr) 755static void encode_commit(struct xdr_stream *xdr, const struct nfs_writeargs *args, struct compound_hdr *hdr)
763{ 756{
764 __be32 *p; 757 __be32 *p;
765 758
@@ -768,11 +761,9 @@ static int encode_commit(struct xdr_stream *xdr, const struct nfs_writeargs *arg
768 WRITE64(args->offset); 761 WRITE64(args->offset);
769 WRITE32(args->count); 762 WRITE32(args->count);
770 hdr->nops++; 763 hdr->nops++;
771
772 return 0;
773} 764}
774 765
775static int encode_create(struct xdr_stream *xdr, const struct nfs4_create_arg *create, struct compound_hdr *hdr) 766static void encode_create(struct xdr_stream *xdr, const struct nfs4_create_arg *create, struct compound_hdr *hdr)
776{ 767{
777 __be32 *p; 768 __be32 *p;
778 769
@@ -802,10 +793,10 @@ static int encode_create(struct xdr_stream *xdr, const struct nfs4_create_arg *c
802 WRITEMEM(create->name->name, create->name->len); 793 WRITEMEM(create->name->name, create->name->len);
803 hdr->nops++; 794 hdr->nops++;
804 795
805 return encode_attrs(xdr, create->attrs, create->server); 796 encode_attrs(xdr, create->attrs, create->server);
806} 797}
807 798
808static int encode_getattr_one(struct xdr_stream *xdr, uint32_t bitmap, struct compound_hdr *hdr) 799static void encode_getattr_one(struct xdr_stream *xdr, uint32_t bitmap, struct compound_hdr *hdr)
809{ 800{
810 __be32 *p; 801 __be32 *p;
811 802
@@ -814,10 +805,9 @@ static int encode_getattr_one(struct xdr_stream *xdr, uint32_t bitmap, struct co
814 WRITE32(1); 805 WRITE32(1);
815 WRITE32(bitmap); 806 WRITE32(bitmap);
816 hdr->nops++; 807 hdr->nops++;
817 return 0;
818} 808}
819 809
820static int encode_getattr_two(struct xdr_stream *xdr, uint32_t bm0, uint32_t bm1, struct compound_hdr *hdr) 810static void encode_getattr_two(struct xdr_stream *xdr, uint32_t bm0, uint32_t bm1, struct compound_hdr *hdr)
821{ 811{
822 __be32 *p; 812 __be32 *p;
823 813
@@ -827,42 +817,36 @@ static int encode_getattr_two(struct xdr_stream *xdr, uint32_t bm0, uint32_t bm1
827 WRITE32(bm0); 817 WRITE32(bm0);
828 WRITE32(bm1); 818 WRITE32(bm1);
829 hdr->nops++; 819 hdr->nops++;
830 return 0;
831} 820}
832 821
833static int encode_getfattr(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) 822static void encode_getfattr(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr)
834{ 823{
835 return encode_getattr_two(xdr, 824 encode_getattr_two(xdr, bitmask[0] & nfs4_fattr_bitmap[0],
836 bitmask[0] & nfs4_fattr_bitmap[0], 825 bitmask[1] & nfs4_fattr_bitmap[1], hdr);
837 bitmask[1] & nfs4_fattr_bitmap[1], hdr);
838} 826}
839 827
840static int encode_fsinfo(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) 828static void encode_fsinfo(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr)
841{ 829{
842 return encode_getattr_two(xdr, bitmask[0] & nfs4_fsinfo_bitmap[0], 830 encode_getattr_two(xdr, bitmask[0] & nfs4_fsinfo_bitmap[0],
843 bitmask[1] & nfs4_fsinfo_bitmap[1], hdr); 831 bitmask[1] & nfs4_fsinfo_bitmap[1], hdr);
844} 832}
845 833
846static int encode_fs_locations(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) 834static void encode_fs_locations(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr)
847{ 835{
848 return encode_getattr_two(xdr, 836 encode_getattr_two(xdr, bitmask[0] & nfs4_fs_locations_bitmap[0],
849 bitmask[0] & nfs4_fs_locations_bitmap[0], 837 bitmask[1] & nfs4_fs_locations_bitmap[1], hdr);
850 bitmask[1] & nfs4_fs_locations_bitmap[1],
851 hdr);
852} 838}
853 839
854static int encode_getfh(struct xdr_stream *xdr, struct compound_hdr *hdr) 840static void encode_getfh(struct xdr_stream *xdr, struct compound_hdr *hdr)
855{ 841{
856 __be32 *p; 842 __be32 *p;
857 843
858 RESERVE_SPACE(4); 844 RESERVE_SPACE(4);
859 WRITE32(OP_GETFH); 845 WRITE32(OP_GETFH);
860 hdr->nops++; 846 hdr->nops++;
861
862 return 0;
863} 847}
864 848
865static int encode_link(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) 849static void encode_link(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr)
866{ 850{
867 __be32 *p; 851 __be32 *p;
868 852
@@ -871,8 +855,6 @@ static int encode_link(struct xdr_stream *xdr, const struct qstr *name, struct c
871 WRITE32(name->len); 855 WRITE32(name->len);
872 WRITEMEM(name->name, name->len); 856 WRITEMEM(name->name, name->len);
873 hdr->nops++; 857 hdr->nops++;
874
875 return 0;
876} 858}
877 859
878static inline int nfs4_lock_type(struct file_lock *fl, int block) 860static inline int nfs4_lock_type(struct file_lock *fl, int block)
@@ -893,7 +875,7 @@ static inline uint64_t nfs4_lock_length(struct file_lock *fl)
893 * opcode,type,reclaim,offset,length,new_lock_owner = 32 875 * opcode,type,reclaim,offset,length,new_lock_owner = 32
894 * open_seqid,open_stateid,lock_seqid,lock_owner.clientid, lock_owner.id = 40 876 * open_seqid,open_stateid,lock_seqid,lock_owner.clientid, lock_owner.id = 40
895 */ 877 */
896static int encode_lock(struct xdr_stream *xdr, const struct nfs_lock_args *args, struct compound_hdr *hdr) 878static void encode_lock(struct xdr_stream *xdr, const struct nfs_lock_args *args, struct compound_hdr *hdr)
897{ 879{
898 __be32 *p; 880 __be32 *p;
899 881
@@ -920,11 +902,9 @@ static int encode_lock(struct xdr_stream *xdr, const struct nfs_lock_args *args,
920 WRITE32(args->lock_seqid->sequence->counter); 902 WRITE32(args->lock_seqid->sequence->counter);
921 } 903 }
922 hdr->nops++; 904 hdr->nops++;
923
924 return 0;
925} 905}
926 906
927static int encode_lockt(struct xdr_stream *xdr, const struct nfs_lockt_args *args, struct compound_hdr *hdr) 907static void encode_lockt(struct xdr_stream *xdr, const struct nfs_lockt_args *args, struct compound_hdr *hdr)
928{ 908{
929 __be32 *p; 909 __be32 *p;
930 910
@@ -938,11 +918,9 @@ static int encode_lockt(struct xdr_stream *xdr, const struct nfs_lockt_args *arg
938 WRITEMEM("lock id:", 8); 918 WRITEMEM("lock id:", 8);
939 WRITE64(args->lock_owner.id); 919 WRITE64(args->lock_owner.id);
940 hdr->nops++; 920 hdr->nops++;
941
942 return 0;
943} 921}
944 922
945static int encode_locku(struct xdr_stream *xdr, const struct nfs_locku_args *args, struct compound_hdr *hdr) 923static void encode_locku(struct xdr_stream *xdr, const struct nfs_locku_args *args, struct compound_hdr *hdr)
946{ 924{
947 __be32 *p; 925 __be32 *p;
948 926
@@ -954,11 +932,9 @@ static int encode_locku(struct xdr_stream *xdr, const struct nfs_locku_args *arg
954 WRITE64(args->fl->fl_start); 932 WRITE64(args->fl->fl_start);
955 WRITE64(nfs4_lock_length(args->fl)); 933 WRITE64(nfs4_lock_length(args->fl));
956 hdr->nops++; 934 hdr->nops++;
957
958 return 0;
959} 935}
960 936
961static int encode_lookup(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) 937static void encode_lookup(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr)
962{ 938{
963 int len = name->len; 939 int len = name->len;
964 __be32 *p; 940 __be32 *p;
@@ -968,8 +944,6 @@ static int encode_lookup(struct xdr_stream *xdr, const struct qstr *name, struct
968 WRITE32(len); 944 WRITE32(len);
969 WRITEMEM(name->name, len); 945 WRITEMEM(name->name, len);
970 hdr->nops++; 946 hdr->nops++;
971
972 return 0;
973} 947}
974 948
975static void encode_share_access(struct xdr_stream *xdr, fmode_t fmode) 949static void encode_share_access(struct xdr_stream *xdr, fmode_t fmode)
@@ -1091,7 +1065,7 @@ static inline void encode_claim_delegate_cur(struct xdr_stream *xdr, const struc
1091 encode_string(xdr, name->len, name->name); 1065 encode_string(xdr, name->len, name->name);
1092} 1066}
1093 1067
1094static int encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, struct compound_hdr *hdr) 1068static void encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, struct compound_hdr *hdr)
1095{ 1069{
1096 encode_openhdr(xdr, arg); 1070 encode_openhdr(xdr, arg);
1097 encode_opentype(xdr, arg); 1071 encode_opentype(xdr, arg);
@@ -1109,10 +1083,9 @@ static int encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, s
1109 BUG(); 1083 BUG();
1110 } 1084 }
1111 hdr->nops++; 1085 hdr->nops++;
1112 return 0;
1113} 1086}
1114 1087
1115static int encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_confirmargs *arg, struct compound_hdr *hdr) 1088static void encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_confirmargs *arg, struct compound_hdr *hdr)
1116{ 1089{
1117 __be32 *p; 1090 __be32 *p;
1118 1091
@@ -1121,11 +1094,9 @@ static int encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_con
1121 WRITEMEM(arg->stateid->data, NFS4_STATEID_SIZE); 1094 WRITEMEM(arg->stateid->data, NFS4_STATEID_SIZE);
1122 WRITE32(arg->seqid->sequence->counter); 1095 WRITE32(arg->seqid->sequence->counter);
1123 hdr->nops++; 1096 hdr->nops++;
1124
1125 return 0;
1126} 1097}
1127 1098
1128static int encode_open_downgrade(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_hdr *hdr) 1099static void encode_open_downgrade(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_hdr *hdr)
1129{ 1100{
1130 __be32 *p; 1101 __be32 *p;
1131 1102
@@ -1135,10 +1106,9 @@ static int encode_open_downgrade(struct xdr_stream *xdr, const struct nfs_closea
1135 WRITE32(arg->seqid->sequence->counter); 1106 WRITE32(arg->seqid->sequence->counter);
1136 encode_share_access(xdr, arg->fmode); 1107 encode_share_access(xdr, arg->fmode);
1137 hdr->nops++; 1108 hdr->nops++;
1138 return 0;
1139} 1109}
1140 1110
1141static int 1111static void
1142encode_putfh(struct xdr_stream *xdr, const struct nfs_fh *fh, struct compound_hdr *hdr) 1112encode_putfh(struct xdr_stream *xdr, const struct nfs_fh *fh, struct compound_hdr *hdr)
1143{ 1113{
1144 int len = fh->size; 1114 int len = fh->size;
@@ -1149,19 +1119,15 @@ encode_putfh(struct xdr_stream *xdr, const struct nfs_fh *fh, struct compound_hd
1149 WRITE32(len); 1119 WRITE32(len);
1150 WRITEMEM(fh->data, len); 1120 WRITEMEM(fh->data, len);
1151 hdr->nops++; 1121 hdr->nops++;
1152
1153 return 0;
1154} 1122}
1155 1123
1156static int encode_putrootfh(struct xdr_stream *xdr, struct compound_hdr *hdr) 1124static void encode_putrootfh(struct xdr_stream *xdr, struct compound_hdr *hdr)
1157{ 1125{
1158 __be32 *p; 1126 __be32 *p;
1159 1127
1160 RESERVE_SPACE(4); 1128 RESERVE_SPACE(4);
1161 WRITE32(OP_PUTROOTFH); 1129 WRITE32(OP_PUTROOTFH);
1162 hdr->nops++; 1130 hdr->nops++;
1163
1164 return 0;
1165} 1131}
1166 1132
1167static void encode_stateid(struct xdr_stream *xdr, const struct nfs_open_context *ctx) 1133static void encode_stateid(struct xdr_stream *xdr, const struct nfs_open_context *ctx)
@@ -1177,7 +1143,7 @@ static void encode_stateid(struct xdr_stream *xdr, const struct nfs_open_context
1177 WRITEMEM(zero_stateid.data, NFS4_STATEID_SIZE); 1143 WRITEMEM(zero_stateid.data, NFS4_STATEID_SIZE);
1178} 1144}
1179 1145
1180static int encode_read(struct xdr_stream *xdr, const struct nfs_readargs *args, struct compound_hdr *hdr) 1146static void encode_read(struct xdr_stream *xdr, const struct nfs_readargs *args, struct compound_hdr *hdr)
1181{ 1147{
1182 __be32 *p; 1148 __be32 *p;
1183 1149
@@ -1190,11 +1156,9 @@ static int encode_read(struct xdr_stream *xdr, const struct nfs_readargs *args,
1190 WRITE64(args->offset); 1156 WRITE64(args->offset);
1191 WRITE32(args->count); 1157 WRITE32(args->count);
1192 hdr->nops++; 1158 hdr->nops++;
1193
1194 return 0;
1195} 1159}
1196 1160
1197static int encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg *readdir, struct rpc_rqst *req, struct compound_hdr *hdr) 1161static void encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg *readdir, struct rpc_rqst *req, struct compound_hdr *hdr)
1198{ 1162{
1199 uint32_t attrs[2] = { 1163 uint32_t attrs[2] = {
1200 FATTR4_WORD0_RDATTR_ERROR|FATTR4_WORD0_FILEID, 1164 FATTR4_WORD0_RDATTR_ERROR|FATTR4_WORD0_FILEID,
@@ -1224,22 +1188,18 @@ static int encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg
1224 ((u32 *)readdir->verifier.data)[1], 1188 ((u32 *)readdir->verifier.data)[1],
1225 attrs[0] & readdir->bitmask[0], 1189 attrs[0] & readdir->bitmask[0],
1226 attrs[1] & readdir->bitmask[1]); 1190 attrs[1] & readdir->bitmask[1]);
1227
1228 return 0;
1229} 1191}
1230 1192
1231static int encode_readlink(struct xdr_stream *xdr, const struct nfs4_readlink *readlink, struct rpc_rqst *req, struct compound_hdr *hdr) 1193static void encode_readlink(struct xdr_stream *xdr, const struct nfs4_readlink *readlink, struct rpc_rqst *req, struct compound_hdr *hdr)
1232{ 1194{
1233 __be32 *p; 1195 __be32 *p;
1234 1196
1235 RESERVE_SPACE(4); 1197 RESERVE_SPACE(4);
1236 WRITE32(OP_READLINK); 1198 WRITE32(OP_READLINK);
1237 hdr->nops++; 1199 hdr->nops++;
1238
1239 return 0;
1240} 1200}
1241 1201
1242static int encode_remove(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) 1202static void encode_remove(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr)
1243{ 1203{
1244 __be32 *p; 1204 __be32 *p;
1245 1205
@@ -1248,11 +1208,9 @@ static int encode_remove(struct xdr_stream *xdr, const struct qstr *name, struct
1248 WRITE32(name->len); 1208 WRITE32(name->len);
1249 WRITEMEM(name->name, name->len); 1209 WRITEMEM(name->name, name->len);
1250 hdr->nops++; 1210 hdr->nops++;
1251
1252 return 0;
1253} 1211}
1254 1212
1255static int encode_rename(struct xdr_stream *xdr, const struct qstr *oldname, const struct qstr *newname, struct compound_hdr *hdr) 1213static void encode_rename(struct xdr_stream *xdr, const struct qstr *oldname, const struct qstr *newname, struct compound_hdr *hdr)
1256{ 1214{
1257 __be32 *p; 1215 __be32 *p;
1258 1216
@@ -1265,11 +1223,9 @@ static int encode_rename(struct xdr_stream *xdr, const struct qstr *oldname, con
1265 WRITE32(newname->len); 1223 WRITE32(newname->len);
1266 WRITEMEM(newname->name, newname->len); 1224 WRITEMEM(newname->name, newname->len);
1267 hdr->nops++; 1225 hdr->nops++;
1268
1269 return 0;
1270} 1226}
1271 1227
1272static int encode_renew(struct xdr_stream *xdr, const struct nfs_client *client_stateid, struct compound_hdr *hdr) 1228static void encode_renew(struct xdr_stream *xdr, const struct nfs_client *client_stateid, struct compound_hdr *hdr)
1273{ 1229{
1274 __be32 *p; 1230 __be32 *p;
1275 1231
@@ -1277,11 +1233,9 @@ static int encode_renew(struct xdr_stream *xdr, const struct nfs_client *client_
1277 WRITE32(OP_RENEW); 1233 WRITE32(OP_RENEW);
1278 WRITE64(client_stateid->cl_clientid); 1234 WRITE64(client_stateid->cl_clientid);
1279 hdr->nops++; 1235 hdr->nops++;
1280
1281 return 0;
1282} 1236}
1283 1237
1284static int 1238static void
1285encode_restorefh(struct xdr_stream *xdr, struct compound_hdr *hdr) 1239encode_restorefh(struct xdr_stream *xdr, struct compound_hdr *hdr)
1286{ 1240{
1287 __be32 *p; 1241 __be32 *p;
@@ -1289,8 +1243,6 @@ encode_restorefh(struct xdr_stream *xdr, struct compound_hdr *hdr)
1289 RESERVE_SPACE(4); 1243 RESERVE_SPACE(4);
1290 WRITE32(OP_RESTOREFH); 1244 WRITE32(OP_RESTOREFH);
1291 hdr->nops++; 1245 hdr->nops++;
1292
1293 return 0;
1294} 1246}
1295 1247
1296static int 1248static int
@@ -1313,7 +1265,7 @@ encode_setacl(struct xdr_stream *xdr, struct nfs_setaclargs *arg, struct compoun
1313 return 0; 1265 return 0;
1314} 1266}
1315 1267
1316static int 1268static void
1317encode_savefh(struct xdr_stream *xdr, struct compound_hdr *hdr) 1269encode_savefh(struct xdr_stream *xdr, struct compound_hdr *hdr)
1318{ 1270{
1319 __be32 *p; 1271 __be32 *p;
@@ -1321,27 +1273,20 @@ encode_savefh(struct xdr_stream *xdr, struct compound_hdr *hdr)
1321 RESERVE_SPACE(4); 1273 RESERVE_SPACE(4);
1322 WRITE32(OP_SAVEFH); 1274 WRITE32(OP_SAVEFH);
1323 hdr->nops++; 1275 hdr->nops++;
1324
1325 return 0;
1326} 1276}
1327 1277
1328static int encode_setattr(struct xdr_stream *xdr, const struct nfs_setattrargs *arg, const struct nfs_server *server, struct compound_hdr *hdr) 1278static void encode_setattr(struct xdr_stream *xdr, const struct nfs_setattrargs *arg, const struct nfs_server *server, struct compound_hdr *hdr)
1329{ 1279{
1330 int status;
1331 __be32 *p; 1280 __be32 *p;
1332 1281
1333 RESERVE_SPACE(4+NFS4_STATEID_SIZE); 1282 RESERVE_SPACE(4+NFS4_STATEID_SIZE);
1334 WRITE32(OP_SETATTR); 1283 WRITE32(OP_SETATTR);
1335 WRITEMEM(arg->stateid.data, NFS4_STATEID_SIZE); 1284 WRITEMEM(arg->stateid.data, NFS4_STATEID_SIZE);
1336 hdr->nops++; 1285 hdr->nops++;
1337 1286 encode_attrs(xdr, arg->iap, server);
1338 if ((status = encode_attrs(xdr, arg->iap, server)))
1339 return status;
1340
1341 return 0;
1342} 1287}
1343 1288
1344static int encode_setclientid(struct xdr_stream *xdr, const struct nfs4_setclientid *setclientid, struct compound_hdr *hdr) 1289static void encode_setclientid(struct xdr_stream *xdr, const struct nfs4_setclientid *setclientid, struct compound_hdr *hdr)
1345{ 1290{
1346 __be32 *p; 1291 __be32 *p;
1347 1292
@@ -1357,11 +1302,9 @@ static int encode_setclientid(struct xdr_stream *xdr, const struct nfs4_setclien
1357 RESERVE_SPACE(4); 1302 RESERVE_SPACE(4);
1358 WRITE32(setclientid->sc_cb_ident); 1303 WRITE32(setclientid->sc_cb_ident);
1359 hdr->nops++; 1304 hdr->nops++;
1360
1361 return 0;
1362} 1305}
1363 1306
1364static int encode_setclientid_confirm(struct xdr_stream *xdr, const struct nfs_client *client_state, struct compound_hdr *hdr) 1307static void encode_setclientid_confirm(struct xdr_stream *xdr, const struct nfs_client *client_state, struct compound_hdr *hdr)
1365{ 1308{
1366 __be32 *p; 1309 __be32 *p;
1367 1310
@@ -1370,11 +1313,9 @@ static int encode_setclientid_confirm(struct xdr_stream *xdr, const struct nfs_c
1370 WRITE64(client_state->cl_clientid); 1313 WRITE64(client_state->cl_clientid);
1371 WRITEMEM(client_state->cl_confirm.data, NFS4_VERIFIER_SIZE); 1314 WRITEMEM(client_state->cl_confirm.data, NFS4_VERIFIER_SIZE);
1372 hdr->nops++; 1315 hdr->nops++;
1373
1374 return 0;
1375} 1316}
1376 1317
1377static int encode_write(struct xdr_stream *xdr, const struct nfs_writeargs *args, struct compound_hdr *hdr) 1318static void encode_write(struct xdr_stream *xdr, const struct nfs_writeargs *args, struct compound_hdr *hdr)
1378{ 1319{
1379 __be32 *p; 1320 __be32 *p;
1380 1321
@@ -1390,11 +1331,9 @@ static int encode_write(struct xdr_stream *xdr, const struct nfs_writeargs *args
1390 1331
1391 xdr_write_pages(xdr, args->pages, args->pgbase, args->count); 1332 xdr_write_pages(xdr, args->pages, args->pgbase, args->count);
1392 hdr->nops++; 1333 hdr->nops++;
1393
1394 return 0;
1395} 1334}
1396 1335
1397static int encode_delegreturn(struct xdr_stream *xdr, const nfs4_stateid *stateid, struct compound_hdr *hdr) 1336static void encode_delegreturn(struct xdr_stream *xdr, const nfs4_stateid *stateid, struct compound_hdr *hdr)
1398{ 1337{
1399 __be32 *p; 1338 __be32 *p;
1400 1339
@@ -1403,8 +1342,6 @@ static int encode_delegreturn(struct xdr_stream *xdr, const nfs4_stateid *statei
1403 WRITE32(OP_DELEGRETURN); 1342 WRITE32(OP_DELEGRETURN);
1404 WRITEMEM(stateid->data, NFS4_STATEID_SIZE); 1343 WRITEMEM(stateid->data, NFS4_STATEID_SIZE);
1405 hdr->nops++; 1344 hdr->nops++;
1406 return 0;
1407
1408} 1345}
1409/* 1346/*
1410 * END OF "GENERIC" ENCODE ROUTINES. 1347 * END OF "GENERIC" ENCODE ROUTINES.
@@ -1419,20 +1356,14 @@ static int nfs4_xdr_enc_access(struct rpc_rqst *req, __be32 *p, const struct nfs
1419 struct compound_hdr hdr = { 1356 struct compound_hdr hdr = {
1420 .nops = 0, 1357 .nops = 0,
1421 }; 1358 };
1422 int status;
1423 1359
1424 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1360 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1425 encode_compound_hdr(&xdr, &hdr); 1361 encode_compound_hdr(&xdr, &hdr);
1426 status = encode_putfh(&xdr, args->fh, &hdr); 1362 encode_putfh(&xdr, args->fh, &hdr);
1427 if (status != 0) 1363 encode_access(&xdr, args->access, &hdr);
1428 goto out; 1364 encode_getfattr(&xdr, args->bitmask, &hdr);
1429 status = encode_access(&xdr, args->access, &hdr);
1430 if (status != 0)
1431 goto out;
1432 status = encode_getfattr(&xdr, args->bitmask, &hdr);
1433out:
1434 encode_nops(&hdr); 1365 encode_nops(&hdr);
1435 return status; 1366 return 0;
1436} 1367}
1437 1368
1438/* 1369/*
@@ -1444,20 +1375,15 @@ static int nfs4_xdr_enc_lookup(struct rpc_rqst *req, __be32 *p, const struct nfs
1444 struct compound_hdr hdr = { 1375 struct compound_hdr hdr = {
1445 .nops = 0, 1376 .nops = 0,
1446 }; 1377 };
1447 int status;
1448 1378
1449 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1379 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1450 encode_compound_hdr(&xdr, &hdr); 1380 encode_compound_hdr(&xdr, &hdr);
1451 if ((status = encode_putfh(&xdr, args->dir_fh, &hdr)) != 0) 1381 encode_putfh(&xdr, args->dir_fh, &hdr);
1452 goto out; 1382 encode_lookup(&xdr, args->name, &hdr);
1453 if ((status = encode_lookup(&xdr, args->name, &hdr)) != 0) 1383 encode_getfh(&xdr, &hdr);
1454 goto out; 1384 encode_getfattr(&xdr, args->bitmask, &hdr);
1455 if ((status = encode_getfh(&xdr, &hdr)) != 0)
1456 goto out;
1457 status = encode_getfattr(&xdr, args->bitmask, &hdr);
1458out:
1459 encode_nops(&hdr); 1385 encode_nops(&hdr);
1460 return status; 1386 return 0;
1461} 1387}
1462 1388
1463/* 1389/*
@@ -1469,17 +1395,14 @@ static int nfs4_xdr_enc_lookup_root(struct rpc_rqst *req, __be32 *p, const struc
1469 struct compound_hdr hdr = { 1395 struct compound_hdr hdr = {
1470 .nops = 0, 1396 .nops = 0,
1471 }; 1397 };
1472 int status;
1473 1398
1474 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1399 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1475 encode_compound_hdr(&xdr, &hdr); 1400 encode_compound_hdr(&xdr, &hdr);
1476 if ((status = encode_putrootfh(&xdr, &hdr)) != 0) 1401 encode_putrootfh(&xdr, &hdr);
1477 goto out; 1402 encode_getfh(&xdr, &hdr);
1478 if ((status = encode_getfh(&xdr, &hdr)) == 0) 1403 encode_getfattr(&xdr, args->bitmask, &hdr);
1479 status = encode_getfattr(&xdr, args->bitmask, &hdr);
1480out:
1481 encode_nops(&hdr); 1404 encode_nops(&hdr);
1482 return status; 1405 return 0;
1483} 1406}
1484 1407
1485/* 1408/*
@@ -1491,18 +1414,14 @@ static int nfs4_xdr_enc_remove(struct rpc_rqst *req, __be32 *p, const struct nfs
1491 struct compound_hdr hdr = { 1414 struct compound_hdr hdr = {
1492 .nops = 0, 1415 .nops = 0,
1493 }; 1416 };
1494 int status;
1495 1417
1496 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1418 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1497 encode_compound_hdr(&xdr, &hdr); 1419 encode_compound_hdr(&xdr, &hdr);
1498 if ((status = encode_putfh(&xdr, args->fh, &hdr)) != 0) 1420 encode_putfh(&xdr, args->fh, &hdr);
1499 goto out; 1421 encode_remove(&xdr, &args->name, &hdr);
1500 if ((status = encode_remove(&xdr, &args->name, &hdr)) != 0) 1422 encode_getfattr(&xdr, args->bitmask, &hdr);
1501 goto out;
1502 status = encode_getfattr(&xdr, args->bitmask, &hdr);
1503out:
1504 encode_nops(&hdr); 1423 encode_nops(&hdr);
1505 return status; 1424 return 0;
1506} 1425}
1507 1426
1508/* 1427/*
@@ -1514,27 +1433,18 @@ static int nfs4_xdr_enc_rename(struct rpc_rqst *req, __be32 *p, const struct nfs
1514 struct compound_hdr hdr = { 1433 struct compound_hdr hdr = {
1515 .nops = 0, 1434 .nops = 0,
1516 }; 1435 };
1517 int status;
1518 1436
1519 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1437 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1520 encode_compound_hdr(&xdr, &hdr); 1438 encode_compound_hdr(&xdr, &hdr);
1521 if ((status = encode_putfh(&xdr, args->old_dir, &hdr)) != 0) 1439 encode_putfh(&xdr, args->old_dir, &hdr);
1522 goto out; 1440 encode_savefh(&xdr, &hdr);
1523 if ((status = encode_savefh(&xdr, &hdr)) != 0) 1441 encode_putfh(&xdr, args->new_dir, &hdr);
1524 goto out; 1442 encode_rename(&xdr, args->old_name, args->new_name, &hdr);
1525 if ((status = encode_putfh(&xdr, args->new_dir, &hdr)) != 0) 1443 encode_getfattr(&xdr, args->bitmask, &hdr);
1526 goto out; 1444 encode_restorefh(&xdr, &hdr);
1527 if ((status = encode_rename(&xdr, args->old_name, args->new_name, 1445 encode_getfattr(&xdr, args->bitmask, &hdr);
1528 &hdr)) != 0)
1529 goto out;
1530 if ((status = encode_getfattr(&xdr, args->bitmask, &hdr)) != 0)
1531 goto out;
1532 if ((status = encode_restorefh(&xdr, &hdr)) != 0)
1533 goto out;
1534 status = encode_getfattr(&xdr, args->bitmask, &hdr);
1535out:
1536 encode_nops(&hdr); 1446 encode_nops(&hdr);
1537 return status; 1447 return 0;
1538} 1448}
1539 1449
1540/* 1450/*
@@ -1546,26 +1456,18 @@ static int nfs4_xdr_enc_link(struct rpc_rqst *req, __be32 *p, const struct nfs4_
1546 struct compound_hdr hdr = { 1456 struct compound_hdr hdr = {
1547 .nops = 0, 1457 .nops = 0,
1548 }; 1458 };
1549 int status;
1550 1459
1551 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1460 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1552 encode_compound_hdr(&xdr, &hdr); 1461 encode_compound_hdr(&xdr, &hdr);
1553 if ((status = encode_putfh(&xdr, args->fh, &hdr)) != 0) 1462 encode_putfh(&xdr, args->fh, &hdr);
1554 goto out; 1463 encode_savefh(&xdr, &hdr);
1555 if ((status = encode_savefh(&xdr, &hdr)) != 0) 1464 encode_putfh(&xdr, args->dir_fh, &hdr);
1556 goto out; 1465 encode_link(&xdr, args->name, &hdr);
1557 if ((status = encode_putfh(&xdr, args->dir_fh, &hdr)) != 0) 1466 encode_getfattr(&xdr, args->bitmask, &hdr);
1558 goto out; 1467 encode_restorefh(&xdr, &hdr);
1559 if ((status = encode_link(&xdr, args->name, &hdr)) != 0) 1468 encode_getfattr(&xdr, args->bitmask, &hdr);
1560 goto out;
1561 if ((status = encode_getfattr(&xdr, args->bitmask, &hdr)) != 0)
1562 goto out;
1563 if ((status = encode_restorefh(&xdr, &hdr)) != 0)
1564 goto out;
1565 status = encode_getfattr(&xdr, args->bitmask, &hdr);
1566out:
1567 encode_nops(&hdr); 1469 encode_nops(&hdr);
1568 return status; 1470 return 0;
1569} 1471}
1570 1472
1571/* 1473/*
@@ -1577,26 +1479,18 @@ static int nfs4_xdr_enc_create(struct rpc_rqst *req, __be32 *p, const struct nfs
1577 struct compound_hdr hdr = { 1479 struct compound_hdr hdr = {
1578 .nops = 0, 1480 .nops = 0,
1579 }; 1481 };
1580 int status;
1581 1482
1582 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1483 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1583 encode_compound_hdr(&xdr, &hdr); 1484 encode_compound_hdr(&xdr, &hdr);
1584 if ((status = encode_putfh(&xdr, args->dir_fh, &hdr)) != 0) 1485 encode_putfh(&xdr, args->dir_fh, &hdr);
1585 goto out; 1486 encode_savefh(&xdr, &hdr);
1586 if ((status = encode_savefh(&xdr, &hdr)) != 0) 1487 encode_create(&xdr, args, &hdr);
1587 goto out; 1488 encode_getfh(&xdr, &hdr);
1588 if ((status = encode_create(&xdr, args, &hdr)) != 0) 1489 encode_getfattr(&xdr, args->bitmask, &hdr);
1589 goto out; 1490 encode_restorefh(&xdr, &hdr);
1590 if ((status = encode_getfh(&xdr, &hdr)) != 0) 1491 encode_getfattr(&xdr, args->bitmask, &hdr);
1591 goto out;
1592 if ((status = encode_getfattr(&xdr, args->bitmask, &hdr)) != 0)
1593 goto out;
1594 if ((status = encode_restorefh(&xdr, &hdr)) != 0)
1595 goto out;
1596 status = encode_getfattr(&xdr, args->bitmask, &hdr);
1597out:
1598 encode_nops(&hdr); 1492 encode_nops(&hdr);
1599 return status; 1493 return 0;
1600} 1494}
1601 1495
1602/* 1496/*
@@ -1616,14 +1510,13 @@ static int nfs4_xdr_enc_getattr(struct rpc_rqst *req, __be32 *p, const struct nf
1616 struct compound_hdr hdr = { 1510 struct compound_hdr hdr = {
1617 .nops = 0, 1511 .nops = 0,
1618 }; 1512 };
1619 int status;
1620 1513
1621 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1514 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1622 encode_compound_hdr(&xdr, &hdr); 1515 encode_compound_hdr(&xdr, &hdr);
1623 if ((status = encode_putfh(&xdr, args->fh, &hdr)) == 0) 1516 encode_putfh(&xdr, args->fh, &hdr);
1624 status = encode_getfattr(&xdr, args->bitmask, &hdr); 1517 encode_getfattr(&xdr, args->bitmask, &hdr);
1625 encode_nops(&hdr); 1518 encode_nops(&hdr);
1626 return status; 1519 return 0;
1627} 1520}
1628 1521
1629/* 1522/*
@@ -1635,20 +1528,14 @@ static int nfs4_xdr_enc_close(struct rpc_rqst *req, __be32 *p, struct nfs_closea
1635 struct compound_hdr hdr = { 1528 struct compound_hdr hdr = {
1636 .nops = 0, 1529 .nops = 0,
1637 }; 1530 };
1638 int status;
1639 1531
1640 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1532 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1641 encode_compound_hdr(&xdr, &hdr); 1533 encode_compound_hdr(&xdr, &hdr);
1642 status = encode_putfh(&xdr, args->fh, &hdr); 1534 encode_putfh(&xdr, args->fh, &hdr);
1643 if(status) 1535 encode_close(&xdr, args, &hdr);
1644 goto out; 1536 encode_getfattr(&xdr, args->bitmask, &hdr);
1645 status = encode_close(&xdr, args, &hdr);
1646 if (status != 0)
1647 goto out;
1648 status = encode_getfattr(&xdr, args->bitmask, &hdr);
1649out:
1650 encode_nops(&hdr); 1537 encode_nops(&hdr);
1651 return status; 1538 return 0;
1652} 1539}
1653 1540
1654/* 1541/*
@@ -1660,32 +1547,18 @@ static int nfs4_xdr_enc_open(struct rpc_rqst *req, __be32 *p, struct nfs_openarg
1660 struct compound_hdr hdr = { 1547 struct compound_hdr hdr = {
1661 .nops = 0, 1548 .nops = 0,
1662 }; 1549 };
1663 int status;
1664 1550
1665 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1551 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1666 encode_compound_hdr(&xdr, &hdr); 1552 encode_compound_hdr(&xdr, &hdr);
1667 status = encode_putfh(&xdr, args->fh, &hdr); 1553 encode_putfh(&xdr, args->fh, &hdr);
1668 if (status) 1554 encode_savefh(&xdr, &hdr);
1669 goto out; 1555 encode_open(&xdr, args, &hdr);
1670 status = encode_savefh(&xdr, &hdr); 1556 encode_getfh(&xdr, &hdr);
1671 if (status) 1557 encode_getfattr(&xdr, args->bitmask, &hdr);
1672 goto out; 1558 encode_restorefh(&xdr, &hdr);
1673 status = encode_open(&xdr, args, &hdr); 1559 encode_getfattr(&xdr, args->bitmask, &hdr);
1674 if (status)
1675 goto out;
1676 status = encode_getfh(&xdr, &hdr);
1677 if (status)
1678 goto out;
1679 status = encode_getfattr(&xdr, args->bitmask, &hdr);
1680 if (status)
1681 goto out;
1682 status = encode_restorefh(&xdr, &hdr);
1683 if (status)
1684 goto out;
1685 status = encode_getfattr(&xdr, args->bitmask, &hdr);
1686out:
1687 encode_nops(&hdr); 1560 encode_nops(&hdr);
1688 return status; 1561 return 0;
1689} 1562}
1690 1563
1691/* 1564/*
@@ -1697,17 +1570,13 @@ static int nfs4_xdr_enc_open_confirm(struct rpc_rqst *req, __be32 *p, struct nfs
1697 struct compound_hdr hdr = { 1570 struct compound_hdr hdr = {
1698 .nops = 0, 1571 .nops = 0,
1699 }; 1572 };
1700 int status;
1701 1573
1702 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1574 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1703 encode_compound_hdr(&xdr, &hdr); 1575 encode_compound_hdr(&xdr, &hdr);
1704 status = encode_putfh(&xdr, args->fh, &hdr); 1576 encode_putfh(&xdr, args->fh, &hdr);
1705 if(status) 1577 encode_open_confirm(&xdr, args, &hdr);
1706 goto out;
1707 status = encode_open_confirm(&xdr, args, &hdr);
1708out:
1709 encode_nops(&hdr); 1578 encode_nops(&hdr);
1710 return status; 1579 return 0;
1711} 1580}
1712 1581
1713/* 1582/*
@@ -1719,20 +1588,14 @@ static int nfs4_xdr_enc_open_noattr(struct rpc_rqst *req, __be32 *p, struct nfs_
1719 struct compound_hdr hdr = { 1588 struct compound_hdr hdr = {
1720 .nops = 0, 1589 .nops = 0,
1721 }; 1590 };
1722 int status;
1723 1591
1724 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1592 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1725 encode_compound_hdr(&xdr, &hdr); 1593 encode_compound_hdr(&xdr, &hdr);
1726 status = encode_putfh(&xdr, args->fh, &hdr); 1594 encode_putfh(&xdr, args->fh, &hdr);
1727 if (status) 1595 encode_open(&xdr, args, &hdr);
1728 goto out; 1596 encode_getfattr(&xdr, args->bitmask, &hdr);
1729 status = encode_open(&xdr, args, &hdr);
1730 if (status)
1731 goto out;
1732 status = encode_getfattr(&xdr, args->bitmask, &hdr);
1733out:
1734 encode_nops(&hdr); 1597 encode_nops(&hdr);
1735 return status; 1598 return 0;
1736} 1599}
1737 1600
1738/* 1601/*
@@ -1744,20 +1607,14 @@ static int nfs4_xdr_enc_open_downgrade(struct rpc_rqst *req, __be32 *p, struct n
1744 struct compound_hdr hdr = { 1607 struct compound_hdr hdr = {
1745 .nops = 0, 1608 .nops = 0,
1746 }; 1609 };
1747 int status;
1748 1610
1749 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1611 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1750 encode_compound_hdr(&xdr, &hdr); 1612 encode_compound_hdr(&xdr, &hdr);
1751 status = encode_putfh(&xdr, args->fh, &hdr); 1613 encode_putfh(&xdr, args->fh, &hdr);
1752 if (status) 1614 encode_open_downgrade(&xdr, args, &hdr);
1753 goto out; 1615 encode_getfattr(&xdr, args->bitmask, &hdr);
1754 status = encode_open_downgrade(&xdr, args, &hdr);
1755 if (status != 0)
1756 goto out;
1757 status = encode_getfattr(&xdr, args->bitmask, &hdr);
1758out:
1759 encode_nops(&hdr); 1616 encode_nops(&hdr);
1760 return status; 1617 return 0;
1761} 1618}
1762 1619
1763/* 1620/*
@@ -1769,17 +1626,13 @@ static int nfs4_xdr_enc_lock(struct rpc_rqst *req, __be32 *p, struct nfs_lock_ar
1769 struct compound_hdr hdr = { 1626 struct compound_hdr hdr = {
1770 .nops = 0, 1627 .nops = 0,
1771 }; 1628 };
1772 int status;
1773 1629
1774 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1630 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1775 encode_compound_hdr(&xdr, &hdr); 1631 encode_compound_hdr(&xdr, &hdr);
1776 status = encode_putfh(&xdr, args->fh, &hdr); 1632 encode_putfh(&xdr, args->fh, &hdr);
1777 if(status) 1633 encode_lock(&xdr, args, &hdr);
1778 goto out;
1779 status = encode_lock(&xdr, args, &hdr);
1780out:
1781 encode_nops(&hdr); 1634 encode_nops(&hdr);
1782 return status; 1635 return 0;
1783} 1636}
1784 1637
1785/* 1638/*
@@ -1791,17 +1644,13 @@ static int nfs4_xdr_enc_lockt(struct rpc_rqst *req, __be32 *p, struct nfs_lockt_
1791 struct compound_hdr hdr = { 1644 struct compound_hdr hdr = {
1792 .nops = 0, 1645 .nops = 0,
1793 }; 1646 };
1794 int status;
1795 1647
1796 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1648 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1797 encode_compound_hdr(&xdr, &hdr); 1649 encode_compound_hdr(&xdr, &hdr);
1798 status = encode_putfh(&xdr, args->fh, &hdr); 1650 encode_putfh(&xdr, args->fh, &hdr);
1799 if(status) 1651 encode_lockt(&xdr, args, &hdr);
1800 goto out;
1801 status = encode_lockt(&xdr, args, &hdr);
1802out:
1803 encode_nops(&hdr); 1652 encode_nops(&hdr);
1804 return status; 1653 return 0;
1805} 1654}
1806 1655
1807/* 1656/*
@@ -1813,17 +1662,13 @@ static int nfs4_xdr_enc_locku(struct rpc_rqst *req, __be32 *p, struct nfs_locku_
1813 struct compound_hdr hdr = { 1662 struct compound_hdr hdr = {
1814 .nops = 0, 1663 .nops = 0,
1815 }; 1664 };
1816 int status;
1817 1665
1818 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1666 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1819 encode_compound_hdr(&xdr, &hdr); 1667 encode_compound_hdr(&xdr, &hdr);
1820 status = encode_putfh(&xdr, args->fh, &hdr); 1668 encode_putfh(&xdr, args->fh, &hdr);
1821 if(status) 1669 encode_locku(&xdr, args, &hdr);
1822 goto out;
1823 status = encode_locku(&xdr, args, &hdr);
1824out:
1825 encode_nops(&hdr); 1670 encode_nops(&hdr);
1826 return status; 1671 return 0;
1827} 1672}
1828 1673
1829/* 1674/*
@@ -1837,14 +1682,11 @@ static int nfs4_xdr_enc_readlink(struct rpc_rqst *req, __be32 *p, const struct n
1837 }; 1682 };
1838 struct rpc_auth *auth = req->rq_task->tk_msg.rpc_cred->cr_auth; 1683 struct rpc_auth *auth = req->rq_task->tk_msg.rpc_cred->cr_auth;
1839 unsigned int replen; 1684 unsigned int replen;
1840 int status;
1841 1685
1842 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1686 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1843 encode_compound_hdr(&xdr, &hdr); 1687 encode_compound_hdr(&xdr, &hdr);
1844 status = encode_putfh(&xdr, args->fh, &hdr); 1688 encode_putfh(&xdr, args->fh, &hdr);
1845 if(status) 1689 encode_readlink(&xdr, args, req, &hdr);
1846 goto out;
1847 status = encode_readlink(&xdr, args, req, &hdr);
1848 1690
1849 /* set up reply kvec 1691 /* set up reply kvec
1850 * toplevel_status + taglen + rescount + OP_PUTFH + status 1692 * toplevel_status + taglen + rescount + OP_PUTFH + status
@@ -1853,10 +1695,8 @@ static int nfs4_xdr_enc_readlink(struct rpc_rqst *req, __be32 *p, const struct n
1853 replen = (RPC_REPHDRSIZE + auth->au_rslack + NFS4_dec_readlink_sz) << 2; 1695 replen = (RPC_REPHDRSIZE + auth->au_rslack + NFS4_dec_readlink_sz) << 2;
1854 xdr_inline_pages(&req->rq_rcv_buf, replen, args->pages, 1696 xdr_inline_pages(&req->rq_rcv_buf, replen, args->pages,
1855 args->pgbase, args->pglen); 1697 args->pgbase, args->pglen);
1856
1857out:
1858 encode_nops(&hdr); 1698 encode_nops(&hdr);
1859 return status; 1699 return 0;
1860} 1700}
1861 1701
1862/* 1702/*
@@ -1870,14 +1710,11 @@ static int nfs4_xdr_enc_readdir(struct rpc_rqst *req, __be32 *p, const struct nf
1870 }; 1710 };
1871 struct rpc_auth *auth = req->rq_task->tk_msg.rpc_cred->cr_auth; 1711 struct rpc_auth *auth = req->rq_task->tk_msg.rpc_cred->cr_auth;
1872 int replen; 1712 int replen;
1873 int status;
1874 1713
1875 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1714 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1876 encode_compound_hdr(&xdr, &hdr); 1715 encode_compound_hdr(&xdr, &hdr);
1877 status = encode_putfh(&xdr, args->fh, &hdr); 1716 encode_putfh(&xdr, args->fh, &hdr);
1878 if(status) 1717 encode_readdir(&xdr, args, req, &hdr);
1879 goto out;
1880 status = encode_readdir(&xdr, args, req, &hdr);
1881 1718
1882 /* set up reply kvec 1719 /* set up reply kvec
1883 * toplevel_status + taglen + rescount + OP_PUTFH + status 1720 * toplevel_status + taglen + rescount + OP_PUTFH + status
@@ -1889,10 +1726,8 @@ static int nfs4_xdr_enc_readdir(struct rpc_rqst *req, __be32 *p, const struct nf
1889 dprintk("%s: inlined page args = (%u, %p, %u, %u)\n", 1726 dprintk("%s: inlined page args = (%u, %p, %u, %u)\n",
1890 __func__, replen, args->pages, 1727 __func__, replen, args->pages,
1891 args->pgbase, args->count); 1728 args->pgbase, args->count);
1892
1893out:
1894 encode_nops(&hdr); 1729 encode_nops(&hdr);
1895 return status; 1730 return 0;
1896} 1731}
1897 1732
1898/* 1733/*
@@ -1905,16 +1740,12 @@ static int nfs4_xdr_enc_read(struct rpc_rqst *req, __be32 *p, struct nfs_readarg
1905 struct compound_hdr hdr = { 1740 struct compound_hdr hdr = {
1906 .nops = 0, 1741 .nops = 0,
1907 }; 1742 };
1908 int replen, status; 1743 int replen;
1909 1744
1910 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1745 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1911 encode_compound_hdr(&xdr, &hdr); 1746 encode_compound_hdr(&xdr, &hdr);
1912 status = encode_putfh(&xdr, args->fh, &hdr); 1747 encode_putfh(&xdr, args->fh, &hdr);
1913 if (status) 1748 encode_read(&xdr, args, &hdr);
1914 goto out;
1915 status = encode_read(&xdr, args, &hdr);
1916 if (status)
1917 goto out;
1918 1749
1919 /* set up reply kvec 1750 /* set up reply kvec
1920 * toplevel status + taglen=0 + rescount + OP_PUTFH + status 1751 * toplevel status + taglen=0 + rescount + OP_PUTFH + status
@@ -1924,9 +1755,8 @@ static int nfs4_xdr_enc_read(struct rpc_rqst *req, __be32 *p, struct nfs_readarg
1924 xdr_inline_pages(&req->rq_rcv_buf, replen, 1755 xdr_inline_pages(&req->rq_rcv_buf, replen,
1925 args->pages, args->pgbase, args->count); 1756 args->pages, args->pgbase, args->count);
1926 req->rq_rcv_buf.flags |= XDRBUF_READ; 1757 req->rq_rcv_buf.flags |= XDRBUF_READ;
1927out:
1928 encode_nops(&hdr); 1758 encode_nops(&hdr);
1929 return status; 1759 return 0;
1930} 1760}
1931 1761
1932/* 1762/*
@@ -1938,20 +1768,14 @@ static int nfs4_xdr_enc_setattr(struct rpc_rqst *req, __be32 *p, struct nfs_seta
1938 struct compound_hdr hdr = { 1768 struct compound_hdr hdr = {
1939 .nops = 0, 1769 .nops = 0,
1940 }; 1770 };
1941 int status;
1942 1771
1943 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1772 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1944 encode_compound_hdr(&xdr, &hdr); 1773 encode_compound_hdr(&xdr, &hdr);
1945 status = encode_putfh(&xdr, args->fh, &hdr); 1774 encode_putfh(&xdr, args->fh, &hdr);
1946 if(status) 1775 encode_setattr(&xdr, args, args->server, &hdr);
1947 goto out; 1776 encode_getfattr(&xdr, args->bitmask, &hdr);
1948 status = encode_setattr(&xdr, args, args->server, &hdr);
1949 if(status)
1950 goto out;
1951 status = encode_getfattr(&xdr, args->bitmask, &hdr);
1952out:
1953 encode_nops(&hdr); 1777 encode_nops(&hdr);
1954 return status; 1778 return 0;
1955} 1779}
1956 1780
1957/* 1781/*
@@ -1966,21 +1790,19 @@ nfs4_xdr_enc_getacl(struct rpc_rqst *req, __be32 *p,
1966 struct compound_hdr hdr = { 1790 struct compound_hdr hdr = {
1967 .nops = 0, 1791 .nops = 0,
1968 }; 1792 };
1969 int replen, status; 1793 int replen;
1970 1794
1971 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1795 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1972 encode_compound_hdr(&xdr, &hdr); 1796 encode_compound_hdr(&xdr, &hdr);
1973 status = encode_putfh(&xdr, args->fh, &hdr); 1797 encode_putfh(&xdr, args->fh, &hdr);
1974 if (status) 1798 encode_getattr_two(&xdr, FATTR4_WORD0_ACL, 0, &hdr);
1975 goto out; 1799
1976 status = encode_getattr_two(&xdr, FATTR4_WORD0_ACL, 0, &hdr);
1977 /* set up reply buffer: */ 1800 /* set up reply buffer: */
1978 replen = (RPC_REPHDRSIZE + auth->au_rslack + NFS4_dec_getacl_sz) << 2; 1801 replen = (RPC_REPHDRSIZE + auth->au_rslack + NFS4_dec_getacl_sz) << 2;
1979 xdr_inline_pages(&req->rq_rcv_buf, replen, 1802 xdr_inline_pages(&req->rq_rcv_buf, replen,
1980 args->acl_pages, args->acl_pgbase, args->acl_len); 1803 args->acl_pages, args->acl_pgbase, args->acl_len);
1981out:
1982 encode_nops(&hdr); 1804 encode_nops(&hdr);
1983 return status; 1805 return 0;
1984} 1806}
1985 1807
1986/* 1808/*
@@ -1992,21 +1814,15 @@ static int nfs4_xdr_enc_write(struct rpc_rqst *req, __be32 *p, struct nfs_writea
1992 struct compound_hdr hdr = { 1814 struct compound_hdr hdr = {
1993 .nops = 0, 1815 .nops = 0,
1994 }; 1816 };
1995 int status;
1996 1817
1997 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1818 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1998 encode_compound_hdr(&xdr, &hdr); 1819 encode_compound_hdr(&xdr, &hdr);
1999 status = encode_putfh(&xdr, args->fh, &hdr); 1820 encode_putfh(&xdr, args->fh, &hdr);
2000 if (status) 1821 encode_write(&xdr, args, &hdr);
2001 goto out;
2002 status = encode_write(&xdr, args, &hdr);
2003 if (status)
2004 goto out;
2005 req->rq_snd_buf.flags |= XDRBUF_WRITE; 1822 req->rq_snd_buf.flags |= XDRBUF_WRITE;
2006 status = encode_getfattr(&xdr, args->bitmask, &hdr); 1823 encode_getfattr(&xdr, args->bitmask, &hdr);
2007out:
2008 encode_nops(&hdr); 1824 encode_nops(&hdr);
2009 return status; 1825 return 0;
2010} 1826}
2011 1827
2012/* 1828/*
@@ -2018,20 +1834,14 @@ static int nfs4_xdr_enc_commit(struct rpc_rqst *req, __be32 *p, struct nfs_write
2018 struct compound_hdr hdr = { 1834 struct compound_hdr hdr = {
2019 .nops = 0, 1835 .nops = 0,
2020 }; 1836 };
2021 int status;
2022 1837
2023 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1838 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
2024 encode_compound_hdr(&xdr, &hdr); 1839 encode_compound_hdr(&xdr, &hdr);
2025 status = encode_putfh(&xdr, args->fh, &hdr); 1840 encode_putfh(&xdr, args->fh, &hdr);
2026 if (status) 1841 encode_commit(&xdr, args, &hdr);
2027 goto out; 1842 encode_getfattr(&xdr, args->bitmask, &hdr);
2028 status = encode_commit(&xdr, args, &hdr);
2029 if (status)
2030 goto out;
2031 status = encode_getfattr(&xdr, args->bitmask, &hdr);
2032out:
2033 encode_nops(&hdr); 1843 encode_nops(&hdr);
2034 return status; 1844 return 0;
2035} 1845}
2036 1846
2037/* 1847/*
@@ -2043,15 +1853,13 @@ static int nfs4_xdr_enc_fsinfo(struct rpc_rqst *req, __be32 *p, struct nfs4_fsin
2043 struct compound_hdr hdr = { 1853 struct compound_hdr hdr = {
2044 .nops = 0, 1854 .nops = 0,
2045 }; 1855 };
2046 int status;
2047 1856
2048 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1857 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
2049 encode_compound_hdr(&xdr, &hdr); 1858 encode_compound_hdr(&xdr, &hdr);
2050 status = encode_putfh(&xdr, args->fh, &hdr); 1859 encode_putfh(&xdr, args->fh, &hdr);
2051 if (!status) 1860 encode_fsinfo(&xdr, args->bitmask, &hdr);
2052 status = encode_fsinfo(&xdr, args->bitmask, &hdr);
2053 encode_nops(&hdr); 1861 encode_nops(&hdr);
2054 return status; 1862 return 0;
2055} 1863}
2056 1864
2057/* 1865/*
@@ -2063,17 +1871,14 @@ static int nfs4_xdr_enc_pathconf(struct rpc_rqst *req, __be32 *p, const struct n
2063 struct compound_hdr hdr = { 1871 struct compound_hdr hdr = {
2064 .nops = 0, 1872 .nops = 0,
2065 }; 1873 };
2066 int status;
2067 1874
2068 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1875 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
2069 encode_compound_hdr(&xdr, &hdr); 1876 encode_compound_hdr(&xdr, &hdr);
2070 status = encode_putfh(&xdr, args->fh, &hdr); 1877 encode_putfh(&xdr, args->fh, &hdr);
2071 if (!status) 1878 encode_getattr_one(&xdr, args->bitmask[0] & nfs4_pathconf_bitmap[0],
2072 status = encode_getattr_one(&xdr, 1879 &hdr);
2073 args->bitmask[0] & nfs4_pathconf_bitmap[0],
2074 &hdr);
2075 encode_nops(&hdr); 1880 encode_nops(&hdr);
2076 return status; 1881 return 0;
2077} 1882}
2078 1883
2079/* 1884/*
@@ -2085,17 +1890,14 @@ static int nfs4_xdr_enc_statfs(struct rpc_rqst *req, __be32 *p, const struct nfs
2085 struct compound_hdr hdr = { 1890 struct compound_hdr hdr = {
2086 .nops = 0, 1891 .nops = 0,
2087 }; 1892 };
2088 int status;
2089 1893
2090 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1894 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
2091 encode_compound_hdr(&xdr, &hdr); 1895 encode_compound_hdr(&xdr, &hdr);
2092 status = encode_putfh(&xdr, args->fh, &hdr); 1896 encode_putfh(&xdr, args->fh, &hdr);
2093 if (status == 0) 1897 encode_getattr_two(&xdr, args->bitmask[0] & nfs4_statfs_bitmap[0],
2094 status = encode_getattr_two(&xdr, 1898 args->bitmask[1] & nfs4_statfs_bitmap[1], &hdr);
2095 args->bitmask[0] & nfs4_statfs_bitmap[0],
2096 args->bitmask[1] & nfs4_statfs_bitmap[1], &hdr);
2097 encode_nops(&hdr); 1899 encode_nops(&hdr);
2098 return status; 1900 return 0;
2099} 1901}
2100 1902
2101/* 1903/*
@@ -2107,18 +1909,16 @@ static int nfs4_xdr_enc_server_caps(struct rpc_rqst *req, __be32 *p, const struc
2107 struct compound_hdr hdr = { 1909 struct compound_hdr hdr = {
2108 .nops = 0, 1910 .nops = 0,
2109 }; 1911 };
2110 int status;
2111 1912
2112 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1913 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
2113 encode_compound_hdr(&xdr, &hdr); 1914 encode_compound_hdr(&xdr, &hdr);
2114 status = encode_putfh(&xdr, fhandle, &hdr); 1915 encode_putfh(&xdr, fhandle, &hdr);
2115 if (status == 0) 1916 encode_getattr_one(&xdr, FATTR4_WORD0_SUPPORTED_ATTRS|
2116 status = encode_getattr_one(&xdr, FATTR4_WORD0_SUPPORTED_ATTRS| 1917 FATTR4_WORD0_LINK_SUPPORT|
2117 FATTR4_WORD0_LINK_SUPPORT| 1918 FATTR4_WORD0_SYMLINK_SUPPORT|
2118 FATTR4_WORD0_SYMLINK_SUPPORT| 1919 FATTR4_WORD0_ACLSUPPORT, &hdr);
2119 FATTR4_WORD0_ACLSUPPORT, &hdr);
2120 encode_nops(&hdr); 1920 encode_nops(&hdr);
2121 return status; 1921 return 0;
2122} 1922}
2123 1923
2124/* 1924/*
@@ -2130,13 +1930,12 @@ static int nfs4_xdr_enc_renew(struct rpc_rqst *req, __be32 *p, struct nfs_client
2130 struct compound_hdr hdr = { 1930 struct compound_hdr hdr = {
2131 .nops = 0, 1931 .nops = 0,
2132 }; 1932 };
2133 int status;
2134 1933
2135 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1934 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
2136 encode_compound_hdr(&xdr, &hdr); 1935 encode_compound_hdr(&xdr, &hdr);
2137 status = encode_renew(&xdr, clp, &hdr); 1936 encode_renew(&xdr, clp, &hdr);
2138 encode_nops(&hdr); 1937 encode_nops(&hdr);
2139 return status; 1938 return 0;
2140} 1939}
2141 1940
2142/* 1941/*
@@ -2148,13 +1947,12 @@ static int nfs4_xdr_enc_setclientid(struct rpc_rqst *req, __be32 *p, struct nfs4
2148 struct compound_hdr hdr = { 1947 struct compound_hdr hdr = {
2149 .nops = 0, 1948 .nops = 0,
2150 }; 1949 };
2151 int status;
2152 1950
2153 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1951 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
2154 encode_compound_hdr(&xdr, &hdr); 1952 encode_compound_hdr(&xdr, &hdr);
2155 status = encode_setclientid(&xdr, sc, &hdr); 1953 encode_setclientid(&xdr, sc, &hdr);
2156 encode_nops(&hdr); 1954 encode_nops(&hdr);
2157 return status; 1955 return 0;
2158} 1956}
2159 1957
2160/* 1958/*
@@ -2167,17 +1965,14 @@ static int nfs4_xdr_enc_setclientid_confirm(struct rpc_rqst *req, __be32 *p, str
2167 .nops = 0, 1965 .nops = 0,
2168 }; 1966 };
2169 const u32 lease_bitmap[2] = { FATTR4_WORD0_LEASE_TIME, 0 }; 1967 const u32 lease_bitmap[2] = { FATTR4_WORD0_LEASE_TIME, 0 };
2170 int status;
2171 1968
2172 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1969 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
2173 encode_compound_hdr(&xdr, &hdr); 1970 encode_compound_hdr(&xdr, &hdr);
2174 status = encode_setclientid_confirm(&xdr, clp, &hdr); 1971 encode_setclientid_confirm(&xdr, clp, &hdr);
2175 if (!status) 1972 encode_putrootfh(&xdr, &hdr);
2176 status = encode_putrootfh(&xdr, &hdr); 1973 encode_fsinfo(&xdr, lease_bitmap, &hdr);
2177 if (!status)
2178 status = encode_fsinfo(&xdr, lease_bitmap, &hdr);
2179 encode_nops(&hdr); 1974 encode_nops(&hdr);
2180 return status; 1975 return 0;
2181} 1976}
2182 1977
2183/* 1978/*
@@ -2189,20 +1984,14 @@ static int nfs4_xdr_enc_delegreturn(struct rpc_rqst *req, __be32 *p, const struc
2189 struct compound_hdr hdr = { 1984 struct compound_hdr hdr = {
2190 .nops = 0, 1985 .nops = 0,
2191 }; 1986 };
2192 int status;
2193 1987
2194 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1988 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
2195 encode_compound_hdr(&xdr, &hdr); 1989 encode_compound_hdr(&xdr, &hdr);
2196 status = encode_putfh(&xdr, args->fhandle, &hdr); 1990 encode_putfh(&xdr, args->fhandle, &hdr);
2197 if (status != 0) 1991 encode_delegreturn(&xdr, args->stateid, &hdr);
2198 goto out; 1992 encode_getfattr(&xdr, args->bitmask, &hdr);
2199 status = encode_delegreturn(&xdr, args->stateid, &hdr);
2200 if (status != 0)
2201 goto out;
2202 status = encode_getfattr(&xdr, args->bitmask, &hdr);
2203out:
2204 encode_nops(&hdr); 1993 encode_nops(&hdr);
2205 return status; 1994 return 0;
2206} 1995}
2207 1996
2208/* 1997/*
@@ -2216,16 +2005,13 @@ static int nfs4_xdr_enc_fs_locations(struct rpc_rqst *req, __be32 *p, struct nfs
2216 }; 2005 };
2217 struct rpc_auth *auth = req->rq_task->tk_msg.rpc_cred->cr_auth; 2006 struct rpc_auth *auth = req->rq_task->tk_msg.rpc_cred->cr_auth;
2218 int replen; 2007 int replen;
2219 int status;
2220 2008
2221 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 2009 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
2222 encode_compound_hdr(&xdr, &hdr); 2010 encode_compound_hdr(&xdr, &hdr);
2223 if ((status = encode_putfh(&xdr, args->dir_fh, &hdr)) != 0) 2011 encode_putfh(&xdr, args->dir_fh, &hdr);
2224 goto out; 2012 encode_lookup(&xdr, args->name, &hdr);
2225 if ((status = encode_lookup(&xdr, args->name, &hdr)) != 0) 2013 encode_fs_locations(&xdr, args->bitmask, &hdr);
2226 goto out; 2014
2227 if ((status = encode_fs_locations(&xdr, args->bitmask, &hdr)) != 0)
2228 goto out;
2229 /* set up reply 2015 /* set up reply
2230 * toplevel_status + OP_PUTFH + status 2016 * toplevel_status + OP_PUTFH + status
2231 * + OP_LOOKUP + status + OP_GETATTR + status = 7 2017 * + OP_LOOKUP + status + OP_GETATTR + status = 7
@@ -2233,9 +2019,8 @@ static int nfs4_xdr_enc_fs_locations(struct rpc_rqst *req, __be32 *p, struct nfs
2233 replen = (RPC_REPHDRSIZE + auth->au_rslack + 7) << 2; 2019 replen = (RPC_REPHDRSIZE + auth->au_rslack + 7) << 2;
2234 xdr_inline_pages(&req->rq_rcv_buf, replen, &args->page, 2020 xdr_inline_pages(&req->rq_rcv_buf, replen, &args->page,
2235 0, PAGE_SIZE); 2021 0, PAGE_SIZE);
2236out:
2237 encode_nops(&hdr); 2022 encode_nops(&hdr);
2238 return status; 2023 return 0;
2239} 2024}
2240 2025
2241/* 2026/*
@@ -4115,11 +3900,8 @@ nfs4_xdr_enc_setacl(struct rpc_rqst *req, __be32 *p, struct nfs_setaclargs *args
4115 3900
4116 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 3901 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
4117 encode_compound_hdr(&xdr, &hdr); 3902 encode_compound_hdr(&xdr, &hdr);
4118 status = encode_putfh(&xdr, args->fh, &hdr); 3903 encode_putfh(&xdr, args->fh, &hdr);
4119 if (status)
4120 goto out;
4121 status = encode_setacl(&xdr, args, &hdr); 3904 status = encode_setacl(&xdr, args, &hdr);
4122out:
4123 encode_nops(&hdr); 3905 encode_nops(&hdr);
4124 return status; 3906 return status;
4125} 3907}