diff options
| author | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2007-05-02 00:18:22 +0000 |
|---|---|---|
| committer | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2007-05-02 00:18:22 +0000 |
| commit | 0775674bbc3ccbcf2e6ebad5d19e1322dcff5435 (patch) | |
| tree | 8b512a038a8472aa91366092efd4894662eba107 /sys/cddl | |
| parent | 6de6bff6498fd923e4425bc72182ca51c9f1760a (diff) | |
Notes
Diffstat (limited to 'sys/cddl')
| -rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c | 3 | ||||
| -rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c index bcf5ca76a83e..9660d4ecb22a 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c @@ -23,6 +23,8 @@ * Use is subject to license terms. */ +/* Portions Copyright 2007 Jeremy Teo */ + #pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> @@ -1280,7 +1282,6 @@ top: * Truncate regular files if requested. */ if ((ZTOV(zp)->v_type == VREG) && - (zp->z_phys->zp_size != 0) && (vap->va_mask & AT_SIZE) && (vap->va_size == 0)) { error = zfs_freesp(zp, 0, 0, mode, TRUE); if (error == ERESTART && diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c index 339308387bab..d9eec310a618 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c @@ -23,6 +23,8 @@ * Use is subject to license terms. */ +/* Portions Copyright 2007 Jeremy Teo */ + #pragma ident "%Z%%M% %I% %E% SMI" #ifdef _KERNEL @@ -830,7 +832,7 @@ zfs_freesp(znode_t *zp, uint64_t off, uint64_t len, int flag, boolean_t log) * Nothing to do if file already at desired length. */ size = zp->z_phys->zp_size; - if (len == 0 && size == off) { + if (len == 0 && size == off && off != 0) { zfs_range_unlock(rl); return (0); } |
