On 07/11/2022 22:55, Ilya Dryomov wrote:
On Thu, Oct 27, 2022 at 11:12 AM <xiubli@xxxxxxxxxx> wrote:
From: Xiubo Li <xiubli@xxxxxxxxxx>
The request's r_session maybe changed when it was forwarded or
resent.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Xiubo Li <xiubli@xxxxxxxxxx>
---
fs/ceph/caps.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c
index 894adfb4a092..d34ac716d7fe 100644
--- a/fs/ceph/caps.c
+++ b/fs/ceph/caps.c
@@ -2341,6 +2341,7 @@ static int flush_mdlog_and_wait_inode_unsafe_requests(struct inode *inode)
goto out;
}
+ mutex_lock(&mdsc->mutex);
Hi Xiubo,
A few lines above, there is the following comment:
/*
* The mdsc->max_sessions is unlikely to be changed
* mostly, here we will retry it by reallocating the
* sessions array memory to get rid of the mdsc->mutex
* lock.
*/
Does retry label and gotos still make sense if mdsc->mutex is
introduced? Would it make sense to move it up and get rid of
retry code?
I'm okay to remove the label since we will introduce the mdsc->mutex.
Thanks!
- Xiubo
Thanks,
Ilya