A strong and a weak NAK on this. For one thing you should not call ->read for fs code at all - use read_iter where it fits (it does here) or the kernel_read() helper otherwise. But once again I don't think this is correct - it's a potentially unsafe default, so please wire up the file systems actually tested and known to work manually. E.g. this does the wrong thing for at least NFS and OCFS2.