]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
kvm tools: 9p don't nuke fids on attach
authorSasha Levin <levinsasha928@gmail.com>
Thu, 30 Aug 2012 07:36:42 +0000 (09:36 +0200)
committerPekka Enberg <penberg@kernel.org>
Fri, 31 Aug 2012 07:12:44 +0000 (10:12 +0300)
We're not supposed to kill all fids when a new attach request
arrives. This used to cause issues when the guest would send
multiple attach requests.

Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
tools/kvm/virtio/9p.c

index 27ef57b8d06dea17516b458b42dec2956e6a636e..d6681060659ca240df78d7ae5682aec044ef2f8e 100644 (file)
@@ -117,26 +117,6 @@ static void close_fid(struct p9_dev *p9dev, u32 fid)
        free(pfid);
 }
 
-static void clear_all_fids(struct p9_dev *p9dev)
-{
-       struct rb_node *node = rb_first(&p9dev->fids);
-
-       while (node) {
-               struct p9_fid *fid = rb_entry(node, struct p9_fid, node);
-
-               if (fid->fd > 0)
-                       close(fid->fd);
-
-               if (fid->dir)
-                       closedir(fid->dir);
-
-               rb_erase(&fid->node, &p9dev->fids);
-               free(fid);
-
-               node = rb_first(&p9dev->fids);
-       }
-}
-
 static void virtio_p9_set_reply_header(struct p9_pdu *pdu, u32 size)
 {
        u8 cmd;
@@ -443,8 +423,6 @@ static void virtio_p9_attach(struct p9_dev *p9dev,
        free(uname);
        free(aname);
 
-       clear_all_fids(p9dev);
-
        if (lstat(p9dev->root_dir, &st) < 0)
                goto err_out;