Przeglądaj źródła

nfsd: properly xdr-encode stateid4.seqid as uint32_t for cb_recall

Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Benny Halevy 16 lat temu
rodzic
commit
8e40741494
1 zmienionych plików z 2 dodań i 1 usunięć
  1. 2 1
      fs/nfsd/nfs4callback.c

+ 2 - 1
fs/nfsd/nfs4callback.c

@@ -225,7 +225,8 @@ encode_cb_recall(struct xdr_stream *xdr, struct nfs4_cb_recall *cb_rec)
 
 
 	RESERVE_SPACE(12+sizeof(cb_rec->cbr_stateid) + len);
 	RESERVE_SPACE(12+sizeof(cb_rec->cbr_stateid) + len);
 	WRITE32(OP_CB_RECALL);
 	WRITE32(OP_CB_RECALL);
-	WRITEMEM(&cb_rec->cbr_stateid, sizeof(stateid_t));
+	WRITE32(cb_rec->cbr_stateid.si_generation);
+	WRITEMEM(&cb_rec->cbr_stateid.si_opaque, sizeof(stateid_opaque_t));
 	WRITE32(cb_rec->cbr_trunc);
 	WRITE32(cb_rec->cbr_trunc);
 	WRITE32(len);
 	WRITE32(len);
 	WRITEMEM(cb_rec->cbr_fhval, len);
 	WRITEMEM(cb_rec->cbr_fhval, len);