at 18.09-beta 2.9 kB view raw
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 */