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

Darren Hart
2011-11-07T20:52:36Z

Hi Pekka,

On 11/07/2011 07:38 AM, Pekka Enberg wrote:
> 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?

These patches certainly help things along. The git init command now
completes and and I can remove existing git repositories (which I could
not before).

I was unable to get a git clone to complete (hangs at receiving objects
0%). I was able to create a new repository, edit a file, add it, and
commit it. "git log" return nothing, same with git show HEAD:

sh-4.2# cd 9ptest/
sh-4.2# ls
world
sh-4.2# git status
# On branch master
nothing to commit (working directory clean)

(so it doesn't list "world" as untracked nor as changed but not
committed). It has been committed.

sh-4.2# git log
sh-4.2# git show HEAD
sh-4.2# git whatchanged HEAD

A couple nitpics below:

>
>> ---
>> 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;

EOL whitespace ^

The same issue exists with the _rename patch following this one.

>> +}
>> +

EOL white space ^

>> 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)
>
>

--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel