Re: [PATCH 1/2] kvm tools: Add missing 9p remove handler

Pekka Enberg
2011-11-07T15:43:32Z

On Mon, 2011-11-07 at 17:19 +0200, Sasha Levin wrote:
> Signed-off-by: Sasha Levin <levinsasha928@gmail.com>

-ENOCHANGELOG :-)

I assume this is related to the git problems Darren Hart reported on
Google Plus?

> ---
> tools/kvm/virtio/9p.c | 25 +++++++++++++++++++++++++
> 1 files changed, 25 insertions(+), 0 deletions(-)
>
> diff --git a/tools/kvm/virtio/9p.c b/tools/kvm/virtio/9p.c
> index 1569bb2..08b1be7 100644
> --- a/tools/kvm/virtio/9p.c
> +++ b/tools/kvm/virtio/9p.c
> @@ -677,6 +677,30 @@ err_out:
> return;
> }
>
> +static void virtio_p9_remove(struct p9_dev *p9dev,
> + struct p9_pdu *pdu, u32 *outlen)
> +{
> + int ret;
> + u32 fid_val;
> + struct p9_fid *fid;
> + char full_path[PATH_MAX];
> +
> + virtio_p9_pdu_readf(pdu, "d", &fid_val);
> + fid = &p9dev->fids[fid_val];
> +
> + sprintf(full_path, "%s", fid->abs_path);
> + ret = remove(full_path);
> + if (ret < 0)
> + goto err_out;
> + *outlen = pdu->write_offset;
> + virtio_p9_set_reply_header(pdu, *outlen);
> + return;
> +
> +err_out:
> + virtio_p9_error_reply(p9dev, pdu, errno, outlen);
> + return;
> +}
> +
> static void virtio_p9_readlink(struct p9_dev *p9dev,
> struct p9_pdu *pdu, u32 *outlen)
> {
> @@ -1048,6 +1072,7 @@ static p9_handler *virtio_9p_dotl_handler [] = {
> [P9_TSYMLINK] = virtio_p9_symlink,
> [P9_TLCREATE] = virtio_p9_create,
> [P9_TWRITE] = virtio_p9_write,
> + [P9_TREMOVE] = virtio_p9_remove,
> };
>
> static struct p9_pdu *virtio_p9_pdu_init(struct kvm *kvm, struct virt_queue *vq)