X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzfs%2Fzfs_znode.c;h=b56e290cbebf431fc61618fb7143e411df96bbc7;hb=b1c932d318ae604b6968ffef136952af4e80a407;hp=076161a8576b8e85aef0efffb69b137db2950a8e;hpb=5c03efc379693f992ebe39c6a00c7297c4a304ea;p=zfs.git diff --git a/module/zfs/zfs_znode.c b/module/zfs/zfs_znode.c index 076161a..b56e290 100644 --- a/module/zfs/zfs_znode.c +++ b/module/zfs/zfs_znode.c @@ -161,7 +161,7 @@ zfs_znode_fini(void) int zfs_create_share_dir(zfs_sb_t *zsb, dmu_tx_t *tx) { -#ifdef HAVE_SHARE +#ifdef HAVE_SMB_SHARE zfs_acl_ids_t acl_ids; vattr_t vattr; znode_t *sharezp; @@ -203,7 +203,7 @@ zfs_create_share_dir(zfs_sb_t *zsb, dmu_tx_t *tx) return (error); #else return (0); -#endif /* HAVE_SHARE */ +#endif /* HAVE_SMB_SHARE */ } static void @@ -1324,9 +1324,7 @@ top: int zfs_freesp(znode_t *zp, uint64_t off, uint64_t len, int flag, boolean_t log) { -#ifdef HAVE_MANDLOCKS struct inode *ip = ZTOI(zp); -#endif /* HAVE_MANDLOCKS */ dmu_tx_t *tx; zfs_sb_t *zsb = ZTOZSB(zp); zilog_t *zilog = zsb->z_log; @@ -1348,17 +1346,14 @@ zfs_freesp(znode_t *zp, uint64_t off, uint64_t len, int flag, boolean_t log) return (error); } -#ifdef HAVE_MANDLOCKS /* * Check for any locks in the region to be freed. */ - - if (MANDLOCK(ip, (mode_t)mode)) { + if (ip->i_flock && mandatory_lock(ip)) { uint64_t length = (len ? len : zp->z_size - off); - if (error = chklock(ip, FWRITE, off, length, flag, NULL)) - return (error); + if (!lock_may_write(ip, off, length)) + return (EAGAIN); } -#endif /* HAVE_MANDLOCKS */ if (len == 0) { error = zfs_trunc(zp, off);