diff options
Diffstat (limited to 'sys/fs/fuse/fuse_vnops.c')
-rw-r--r-- | sys/fs/fuse/fuse_vnops.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c index 820d69f..f2d0188 100644 --- a/sys/fs/fuse/fuse_vnops.c +++ b/sys/fs/fuse/fuse_vnops.c @@ -1173,6 +1173,11 @@ fuse_vnop_read(struct vop_read_args *ap) if (fuse_isdeadfs(vp)) { return ENXIO; } + + if (VTOFUD(vp)->flag & FN_DIRECTIO) { + ioflag |= IO_DIRECT; + } + return fuse_io_dispatch(vp, uio, ioflag, cred); } @@ -1712,6 +1717,10 @@ fuse_vnop_write(struct vop_write_args *ap) } fuse_vnode_refreshsize(vp, cred); + if (VTOFUD(vp)->flag & FN_DIRECTIO) { + ioflag |= IO_DIRECT; + } + return fuse_io_dispatch(vp, uio, ioflag, cred); } |