Skip to content

Commit

Permalink
net/9p: fix statsize inside twstat
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Eric Van Hensbergen committed Feb 8, 2010
1 parent 349d3bb commit 9d6939d
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions net/9p/client.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit 9d6939d

Please sign in to comment.