file_start_write()/file_end_write() got mixed into vfs_iter_write() by accident; that's a deadlock for all existing callers - they already do that, some - quite a bit outside. Easily fixed, fortunately The following changes since commit a4058c5bce8aded1a12a59990e84e481a96fb490: nfsd: remove nfsd_vfs_read (2017-06-29 17:49:24 -0400) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.read_write for you to fetch changes up to 62473a2d6f513296e896b64ccfd7ceb7b963795e: move file_{start,end}_write() out of do_iter_write() (2017-07-06 09:15:47 -0400) ---------------------------------------------------------------- Al Viro (1): move file_{start,end}_write() out of do_iter_write() fs/read_write.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)