On Mon, Apr 11, 2022 at 02:12:49PM +0800, Qu Wenruo wrote: > + /* > + * Above submission hooks will handle the error by ending the bio, > + * which will do the cleanup properly. > + * So here we should not return any error, or the caller of > + * submit_extent_page() will do cleanup again, causing problems. > + */ > + return 0; This should not return anything. Similar to how e.g. submit_bio works it needs to be a void return. And yes, that will properly fix all the double completion issues.