The commit is pushed to "branch-rh7-3.10.0-693.17.1.vz7.45.x-ovz" and will 
appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-693.17.1.vz7.43.7
------>
commit ad0ba9881818baae707c42471c8a13ce9449fefd
Author: Dmitry Monakhov <dmonak...@openvz.org>
Date:   Mon Feb 19 14:06:59 2018 +0300

    fuse: fix ->end() vs ->waitq ordering
    
    Currently waiter notified about request completion before ->eio()
    which result in race betweel synchronious waiter and ->eio() callback.
    Luckily  there are no synchronous requests which define such callback.
    So this patch should not affect existing callers.
    
    https://jira.sw.ru/browse/PSBM-80680
    Signed-off-by: Dmitry Monakhov <dmonak...@openvz.org>
---
 fs/fuse/dev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index 9e77e198de60..a4ea60370586 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -394,9 +394,9 @@ static void request_end(struct fuse_conn *fc, struct 
fuse_req *req)
                flush_bg_queue(fc, fiq);
                spin_unlock(&fc->lock);
        }
-       wake_up(&req->waitq);
        if (req->end)
                req->end(fc, req);
+       wake_up(&req->waitq);
        fuse_put_request(fc, req);
 }
 
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to