This series is to address a few issues with the fixup worker we hit in production. The first of this is a resend of Btrfs: keep pages dirty when using I've cleaned this up based on the feedback and added a bunch more comments to make it clear what is happening and why we're doing it. The next patch is a cleanup that is made possible by the previous patch, again to clear up the fixup workers job. btrfs: drop the -EBUSY case in __extent_writepage_io And finally the deadlock fix that I submitted earlier. I noticed while trying to backport this onto our kernel that we had changed the error case with the above patch from Chris, and actually we really, really need Chris's fix as well. There is also a change in the error handling from v1 where we now set the page error properly but only once we've locked the page and verified we're still responsible for COW'ing the page. Thanks, Josef
