Patch "ceph: fix ceph_get_caps() interruption" has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
ceph: fix ceph_get_caps() interruption
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
ceph-fix-ceph_get_caps-interruption.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
6e09d0fb64402cec579f029ca4c7f39f5c48fc60Mon Sep 17 00:00:00 2001
From: "Yan, Zheng" <[email protected]>
Date: Thu, 22 Dec 2016 16:05:43 +0800
Subject: ceph: fix ceph_get_caps() interruption
From: Yan, Zheng <[email protected]>
commit 6e09d0fb64402cec579f029ca4c7f39f5c48fc60 upstream.
Commit 5c341ee32881 ("ceph: fix scheduler warning due to nested blocking") causes infinite loop when process is interrupted. Fix it.
--- fs/ceph/caps.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
fs/ceph/caps.c +6 -1
@@ -2511,8 +2511,13 @@ int ceph_get_caps(struct ceph_inode_infoadd_wait_queue (&ci->i_cap_wq, &wait);while (!try_get_cap_refs (ci, need, want, endoff, - true, &_got, &err)) + true, &_got, &err)) { +if (signal_pending (current)) { + ret = -ERESTARTSYS ; +break ; + }wait_woken (&wait,TASK_INTERRUPTIBLE ,MAX_SCHEDULE_TIMEOUT ); + }remove_wait_queue (&ci->i_cap_wq, &wait);
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/ceph-fix-scheduler-warning-due-to-nested-blocking.patch queue-4.9/ceph-fix-ceph_get_caps-interruption.patch