```
First, we need to ensure that in and out lower vnodes are compatible forVFS: add VOP_GETWRITEVNODE()
the callIt is similar to VOP_COPY_FILE_RANGE() on lower fsGETWRITEMOUNT(), otherwise fall back toand for given vnode vp should
vn_generic_copy_file_range()return the lower vnode which would actually handle write to vp.
```
```
Second, lower vnodes need to be referenced aroundvn_copy_file_range(): find write vnodes on which to call the calls.VOP
```
```
vn_copy_file_range(): provide ENOSYS fallback to vn_generic_copy_file_range()
```
```
nullfs: do not allow bypass on copy_file_range()
Noted by: mjgThere must be no callers of VOP_COPY_FILE_RANGE() except
Tested by: phovn_copy_file_range(), which does enough to find the write-vnodes where
to call the VOP.
```