1diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
2--- a/fs/9p/vfs_inode.c
3+++ b/fs/9p/vfs_inode.c
4@@ -483,6 +483,9 @@ static int v9fs_test_inode(struct inode *inode, void *data)
5
6 if (v9inode->qid.type != st->qid.type)
7 return 0;
8+
9+ if (v9inode->qid.path != st->qid.path)
10+ return 0;
11 return 1;
12 }
13
14diff --git a/fs/9p/vfs_inode_dotl.c b/fs/9p/vfs_inode_dotl.c
15--- a/fs/9p/vfs_inode_dotl.c
16+++ b/fs/9p/vfs_inode_dotl.c
17@@ -87,6 +87,9 @@ static int v9fs_test_inode_dotl(struct inode *inode, void *data)
18
19 if (v9inode->qid.type != st->qid.type)
20 return 0;
21+
22+ if (v9inode->qid.path != st->qid.path)
23+ return 0;
24 return 1;
25 }
26
27diff --git a/net/9p/client.c b/net/9p/client.c
28index 3ce672af1596..f1c8ad373f90 100644
29--- a/net/9p/client.c
30+++ b/net/9p/client.c
31@@ -749,8 +749,7 @@ p9_client_rpc(struct p9_client *c, int8_t type, const char *fmt, ...)
32 }
33 again:
34 /* Wait for the response */
35- err = wait_event_interruptible(*req->wq,
36- req->status >= REQ_STATUS_RCVD);
37+ err = wait_event_killable(*req->wq, req->status >= REQ_STATUS_RCVD);
38
39 /*
40 * Make sure our req is coherent with regard to updates in other
41diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
42index f24b25c25106..f3a4efcf1456 100644
43--- a/net/9p/trans_virtio.c
44+++ b/net/9p/trans_virtio.c
45@@ -286,8 +286,8 @@ p9_virtio_request(struct p9_client *client, struct p9_req_t *req)
46 if (err == -ENOSPC) {
47 chan->ring_bufs_avail = 0;
48 spin_unlock_irqrestore(&chan->lock, flags);
49- err = wait_event_interruptible(*chan->vc_wq,
50- chan->ring_bufs_avail);
51+ err = wait_event_killable(*chan->vc_wq,
52+ chan->ring_bufs_avail);
53 if (err == -ERESTARTSYS)
54 return err;
55
56@@ -327,7 +327,7 @@ static int p9_get_mapped_pages(struct virtio_chan *chan,
57 * Other zc request to finish here
58 */
59 if (atomic_read(&vp_pinned) >= chan->p9_max_pages) {
60- err = wait_event_interruptible(vp_wq,
61+ err = wait_event_killable(vp_wq,
62 (atomic_read(&vp_pinned) < chan->p9_max_pages));
63 if (err == -ERESTARTSYS)
64 return err;
65@@ -471,8 +471,8 @@ p9_virtio_zc_request(struct p9_client *client, struct p9_req_t *req,
66 if (err == -ENOSPC) {
67 chan->ring_bufs_avail = 0;
68 spin_unlock_irqrestore(&chan->lock, flags);
69- err = wait_event_interruptible(*chan->vc_wq,
70- chan->ring_bufs_avail);
71+ err = wait_event_killable(*chan->vc_wq,
72+ chan->ring_bufs_avail);
73 if (err == -ERESTARTSYS)
74 goto err_out;
75
76@@ -489,8 +489,7 @@ p9_virtio_zc_request(struct p9_client *client, struct p9_req_t *req,
77 virtqueue_kick(chan->vq);
78 spin_unlock_irqrestore(&chan->lock, flags);
79 p9_debug(P9_DEBUG_TRANS, "virtio request kicked\n");
80- err = wait_event_interruptible(*req->wq,
81- req->status >= REQ_STATUS_RCVD);
82+ err = wait_event_killable(*req->wq, req->status >= REQ_STATUS_RCVD);
83 /*
84 * Non kernel buffers are pinned, unpin them
85 */