This patch factors out the code that actually does the truncation from vn_truncate() into vn_truncate_locked().
This will allow vn_truncate_locked() to be called within the NFS server and by D20584 for the copy_file_range(2) syscall,
instead of needing to carry across any changes (such as the recent r347151) made to vn_truncate() over to the NFS
server code (and copy_file_range(2) when added to head.
There should be no semantic change to vn_truncate().