diff options
Diffstat (limited to 'sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c')
-rw-r--r-- | sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c b/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c index 4008178..088103a 100644 --- a/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c +++ b/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c @@ -3551,6 +3551,25 @@ zfs_freebsd_advlock(ap) return (lf_advlock(ap, &(zp->z_lockf), zp->z_phys->zp_size)); } +/* + * Advisory record locking support + */ +static int +zfs_freebsd_advlockasync(ap) + struct vop_advlockasync_args /* { + struct vnode *a_vp; + caddr_t a_id; + int a_op; + struct flock *a_fl; + int a_flags; + struct task *a_task; + } */ *ap; +{ + znode_t *zp = VTOZ(ap->a_vp); + + return (lf_advlockasync(ap, &(zp->z_lockf), zp->z_phys->zp_size)); +} + struct vop_vector zfs_vnodeops; struct vop_vector zfs_fifoops; @@ -3584,6 +3603,7 @@ struct vop_vector zfs_vnodeops = { .vop_remove = zfs_freebsd_remove, .vop_rename = zfs_freebsd_rename, .vop_advlock = zfs_freebsd_advlock, + .vop_advlockasync = zfs_freebsd_advlockasync, .vop_pathconf = zfs_freebsd_pathconf, .vop_bmap = VOP_EOPNOTSUPP, .vop_fid = zfs_freebsd_fid, |