Hi Coly, thanks to your review and comments. Commit 77b5a08427e875 ("bcache: don't embed 'return' statements in closure macros") remove the return in continue_at(), so I think we should update the document info about continue_at(). Thanks! Yijing. 在 2016/6/29 18:16, Coly Li 写道: > 在 16/6/22 上午10:12, Yijing Wang 写道: >> There is no return in continue_at(), update the documentation. >> > > There are 2 modification of this patch. The first one is about a typo, > it is correct. > > But I doubt your second modification is proper. The line removed in your > patch is, >> - * continue_at() also, critically, is a macro that returns the > calling function. >> - * There's good reason for this. >> - * > > I think this is exactly what original author wants to say. It does not > mean return a value, it means return to the calling function. And the > bellowed lines explains the reason. > >> Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> >> --- >> drivers/md/bcache/closure.c | 2 +- >> drivers/md/bcache/closure.h | 3 --- >> 2 files changed, 1 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c >> index 9eaf1d6..864e673 100644 >> --- a/drivers/md/bcache/closure.c >> +++ b/drivers/md/bcache/closure.c >> @@ -112,7 +112,7 @@ bool closure_wait(struct closure_waitlist *waitlist, struct closure *cl) >> EXPORT_SYMBOL(closure_wait); >> >> /** >> - * closure_sync - sleep until a closure a closure has nothing left to wait on >> + * closure_sync - sleep until a closure has nothing left to wait on > > Yes, this modification is good. > >> * >> * Sleeps until the refcount hits 1 - the thread that's running the closure owns >> * the last refcount. >> diff --git a/drivers/md/bcache/closure.h b/drivers/md/bcache/closure.h >> index 782cc2c..f51188d 100644 >> --- a/drivers/md/bcache/closure.h >> +++ b/drivers/md/bcache/closure.h >> @@ -31,9 +31,6 @@ >> * passing it, as you might expect, the function to run when nothing is pending >> * and the workqueue to run that function out of. >> * >> - * continue_at() also, critically, is a macro that returns the calling function. >> - * There's good reason for this. >> - * >> * To use safely closures asynchronously, they must always have a refcount while >> * they are running owned by the thread that is running them. Otherwise, suppose >> * you submit some bios and wish to have a function run when they all complete: >> > > -- To unsubscribe from this list: send the line "unsubscribe linux-bcache" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html