X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Ffuse%2Fdev.c;h=87250b6a8682468c39ff0e4cb1f35caa09f386f6;hb=996abf053eec4d67136be8b911bbaaf989cfb99c;hp=bba83762c4841de60f5ef0812eeadc6e6517445d;hpb=3be5a52b30aa5cf9d795b7634f728f612197b1c4;p=linux-2.6 diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index bba83762c4..87250b6a86 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -299,6 +299,7 @@ static void request_end(struct fuse_conn *fc, struct fuse_req *req) static void wait_answer_interruptible(struct fuse_conn *fc, struct fuse_req *req) + __releases(fc->lock) __acquires(fc->lock) { if (signal_pending(current)) return; @@ -315,8 +316,8 @@ static void queue_interrupt(struct fuse_conn *fc, struct fuse_req *req) kill_fasync(&fc->fasync, SIGIO, POLL_IN); } -/* Called with fc->lock held. Releases, and then reacquires it. */ static void request_wait_answer(struct fuse_conn *fc, struct fuse_req *req) + __releases(fc->lock) __acquires(fc->lock) { if (!fc->no_interrupt) { /* Any signal may interrupt this */ @@ -987,6 +988,7 @@ static void end_requests(struct fuse_conn *fc, struct list_head *head) * locked). */ static void end_io_requests(struct fuse_conn *fc) + __releases(fc->lock) __acquires(fc->lock) { while (!list_empty(&fc->io)) { struct fuse_req *req =