qemu/9p: Don't ignore error in fid clunk

We use the clunk request to do the actual xattr operation. So don't
ignore the error value for fid clunk.

Security model "none" don't support posix acl. Without this patch
guest won't get EOPNOTSUPP error on setxattr("system.posix_acl_access")

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
master
Aneesh Kumar K.V 2013-02-05 11:27:46 +05:30 committed by Anthony Liguori
parent facf98ad98
commit a911a182a6
1 changed files with 7 additions and 5 deletions

View File

@ -327,7 +327,7 @@ static int free_fid(V9fsPDU *pdu, V9fsFidState *fidp)
return retval;
}
static void put_fid(V9fsPDU *pdu, V9fsFidState *fidp)
static int put_fid(V9fsPDU *pdu, V9fsFidState *fidp)
{
BUG_ON(!fidp->ref);
fidp->ref--;
@ -348,8 +348,9 @@ static void put_fid(V9fsPDU *pdu, V9fsFidState *fidp)
pdu->s->migration_blocker = NULL;
}
}
free_fid(pdu, fidp);
return free_fid(pdu, fidp);
}
return 0;
}
static V9fsFidState *clunk_fid(V9fsState *s, int32_t fid)
@ -1537,9 +1538,10 @@ static void v9fs_clunk(void *opaque)
* free the fid.
*/
fidp->ref++;
err = offset;
put_fid(pdu, fidp);
err = put_fid(pdu, fidp);
if (!err) {
err = offset;
}
out_nofid:
complete_pdu(s, pdu, err);
}