From 52f06644d6c7b9c72e42f45a39f695b4a1e7bf2d Mon Sep 17 00:00:00 2001 From: "John L. Hammond" Date: Fri, 6 Nov 2015 09:39:17 -0600 Subject: [PATCH] LU-7402 llite: correct request handling after ll_lookup_it() In the FIFO cases of ll_atomic_open() and ll_lookup_nd() remove spurious calls to ptlrpc_req_finished(). Explain that these cases are unreachable in practice anyway. Signed-off-by: John L. Hammond Change-Id: Ic7d677674ed7f9e52d039bb81259f60bc75ba71b Reviewed-on: http://review.whamcloud.com/17068 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Dmitry Eremin Reviewed-by: Lai Siyao Reviewed-by: Oleg Drokin --- lustre/llite/namei.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/lustre/llite/namei.c b/lustre/llite/namei.c index 021fc0f..c0fa6a9 100644 --- a/lustre/llite/namei.c +++ b/lustre/llite/namei.c @@ -732,13 +732,9 @@ static int ll_atomic_open(struct inode *dir, struct dentry *dentry, if (dentry->d_inode && it_disposition(it, DISP_OPEN_OPEN)) { /* Open dentry. */ if (S_ISFIFO(dentry->d_inode->i_mode)) { - /* We cannot call open here as it would - * deadlock. - */ - if (it_disposition(it, DISP_ENQ_OPEN_REF)) - ptlrpc_req_finished( - (struct ptlrpc_request *) - it->d.lustre.it_data); + /* We cannot call open here as it might + * deadlock. This case is unreachable in + * practice because of OBD_CONNECT_NODEVOH. */ rc = finish_no_open(file, de); } else { file->private_data = it; @@ -814,11 +810,10 @@ static struct dentry *ll_lookup_nd(struct inode *parent, struct dentry *dentry, if (dentry->d_inode && it_disposition(it, DISP_OPEN_OPEN)) { /* nocreate */ if (S_ISFIFO(dentry->d_inode->i_mode)) { - // We cannot call open here as it would - // deadlock. - ptlrpc_req_finished( - (struct ptlrpc_request *) - it->d.lustre.it_data); + /* We cannot call open here as it might + * deadlock. This case is unreachable in + * practice because of + * OBD_CONNECT_NODEVOH. */ } else { struct file *filp; -- 1.8.3.1