net/9p: fix statsize inside twstat
stat structures contain a size prefix. In our twstat messages we were including the size of the size prefix in the prefix, which is not what the protocol wants, and Inferno servers would complain. Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
This commit is contained in:
parent
349d3bb878
commit
9d6939dac7
|
@ -1222,10 +1222,11 @@ static int p9_client_statsize(struct p9_wstat *wst, int optional)
|
|||
{
|
||||
int ret;
|
||||
|
||||
/* NOTE: size shouldn't include its own length */
|
||||
/* size[2] type[2] dev[4] qid[13] */
|
||||
/* mode[4] atime[4] mtime[4] length[8]*/
|
||||
/* name[s] uid[s] gid[s] muid[s] */
|
||||
ret = 2+2+4+13+4+4+4+8+2+2+2+2;
|
||||
ret = 2+4+13+4+4+4+8+2+2+2+2;
|
||||
|
||||
if (wst->name)
|
||||
ret += strlen(wst->name);
|
||||
|
@ -1266,7 +1267,7 @@ int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst)
|
|||
wst->name, wst->uid, wst->gid, wst->muid, wst->extension,
|
||||
wst->n_uid, wst->n_gid, wst->n_muid);
|
||||
|
||||
req = p9_client_rpc(clnt, P9_TWSTAT, "dwS", fid->fid, wst->size, wst);
|
||||
req = p9_client_rpc(clnt, P9_TWSTAT, "dwS", fid->fid, wst->size+2, wst);
|
||||
if (IS_ERR(req)) {
|
||||
err = PTR_ERR(req);
|
||||
goto error;
|
||||
|
|
Loading…
Reference in New Issue