Deleted Added
full compact
ufs_vnops.c (100207) ufs_vnops.c (100344)
1/*
2 * Copyright (c) 1982, 1986, 1989, 1993, 1995
3 * The Regents of the University of California. All rights reserved.
4 * (c) UNIX System Laboratories, Inc.
5 * All or some portions of this file are derived from material licensed
6 * to the University of California by American Telephone and Telegraph
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8 * the permission of UNIX System Laboratories, Inc.

--- 22 unchanged lines hidden (view full) ---

31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95
1/*
2 * Copyright (c) 1982, 1986, 1989, 1993, 1995
3 * The Regents of the University of California. All rights reserved.
4 * (c) UNIX System Laboratories, Inc.
5 * All or some portions of this file are derived from material licensed
6 * to the University of California by American Telephone and Telegraph
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8 * the permission of UNIX System Laboratories, Inc.

--- 22 unchanged lines hidden (view full) ---

31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95
39 * $FreeBSD: head/sys/ufs/ufs/ufs_vnops.c 100207 2002-07-17 02:03:19Z mckusick $
39 * $FreeBSD: head/sys/ufs/ufs/ufs_vnops.c 100344 2002-07-19 07:29:39Z mckusick $
40 */
41
42#include "opt_quota.h"
43#include "opt_suiddir.h"
44#include "opt_ufs.h"
45
46#include <sys/param.h>
47#include <sys/systm.h>

--- 502 unchanged lines hidden (view full) ---

550 if (vp->v_mount->mnt_flag & MNT_RDONLY)
551 return (EROFS);
552 if ((ip->i_flags & SF_SNAPSHOT) != 0)
553 return (EPERM);
554 break;
555 default:
556 break;
557 }
40 */
41
42#include "opt_quota.h"
43#include "opt_suiddir.h"
44#include "opt_ufs.h"
45
46#include <sys/param.h>
47#include <sys/systm.h>

--- 502 unchanged lines hidden (view full) ---

550 if (vp->v_mount->mnt_flag & MNT_RDONLY)
551 return (EROFS);
552 if ((ip->i_flags & SF_SNAPSHOT) != 0)
553 return (EPERM);
554 break;
555 default:
556 break;
557 }
558 if ((error = UFS_TRUNCATE(vp, vap->va_size, 0, cred, td)) != 0)
558 if ((error = UFS_TRUNCATE(vp, vap->va_size, IO_NORMAL,
559 cred, td)) != 0)
559 return (error);
560 }
561 if (vap->va_atime.tv_sec != VNOVAL ||
562 vap->va_mtime.tv_sec != VNOVAL ||
563 vap->va_birthtime.tv_sec != VNOVAL) {
564 if (vp->v_mount->mnt_flag & MNT_RDONLY)
565 return (EROFS);
566 if ((ip->i_flags & SF_SNAPSHOT) != 0)

--- 696 unchanged lines hidden (view full) ---

1263 if (!newparent) {
1264 dp->i_nlink--;
1265 DIP(dp, i_nlink) = dp->i_nlink;
1266 dp->i_flag |= IN_CHANGE;
1267 }
1268 xp->i_nlink--;
1269 DIP(xp, i_nlink) = xp->i_nlink;
1270 xp->i_flag |= IN_CHANGE;
560 return (error);
561 }
562 if (vap->va_atime.tv_sec != VNOVAL ||
563 vap->va_mtime.tv_sec != VNOVAL ||
564 vap->va_birthtime.tv_sec != VNOVAL) {
565 if (vp->v_mount->mnt_flag & MNT_RDONLY)
566 return (EROFS);
567 if ((ip->i_flags & SF_SNAPSHOT) != 0)

--- 696 unchanged lines hidden (view full) ---

1264 if (!newparent) {
1265 dp->i_nlink--;
1266 DIP(dp, i_nlink) = dp->i_nlink;
1267 dp->i_flag |= IN_CHANGE;
1268 }
1269 xp->i_nlink--;
1270 DIP(xp, i_nlink) = xp->i_nlink;
1271 xp->i_flag |= IN_CHANGE;
1271 ioflag = DOINGASYNC(tvp) ? 0 : IO_SYNC;
1272 ioflag = IO_NORMAL;
1273 if (DOINGASYNC(tvp))
1274 ioflag |= IO_SYNC;
1272 if ((error = UFS_TRUNCATE(tvp, (off_t)0, ioflag,
1273 tcnp->cn_cred, tcnp->cn_thread)) != 0)
1274 goto bad;
1275 }
1276 VN_KNOTE(tdvp, NOTE_WRITE);
1277 vput(tdvp);
1278 VN_KNOTE(tvp, NOTE_DELETE);
1279 vput(tvp);

--- 477 unchanged lines hidden (view full) ---

1757 */
1758 if (!DOINGSOFTDEP(vp)) {
1759 dp->i_nlink--;
1760 DIP(dp, i_nlink) = dp->i_nlink;
1761 dp->i_flag |= IN_CHANGE;
1762 ip->i_nlink--;
1763 DIP(ip, i_nlink) = ip->i_nlink;
1764 ip->i_flag |= IN_CHANGE;
1275 if ((error = UFS_TRUNCATE(tvp, (off_t)0, ioflag,
1276 tcnp->cn_cred, tcnp->cn_thread)) != 0)
1277 goto bad;
1278 }
1279 VN_KNOTE(tdvp, NOTE_WRITE);
1280 vput(tdvp);
1281 VN_KNOTE(tvp, NOTE_DELETE);
1282 vput(tvp);

--- 477 unchanged lines hidden (view full) ---

1760 */
1761 if (!DOINGSOFTDEP(vp)) {
1762 dp->i_nlink--;
1763 DIP(dp, i_nlink) = dp->i_nlink;
1764 dp->i_flag |= IN_CHANGE;
1765 ip->i_nlink--;
1766 DIP(ip, i_nlink) = ip->i_nlink;
1767 ip->i_flag |= IN_CHANGE;
1765 ioflag = DOINGASYNC(vp) ? 0 : IO_SYNC;
1768 ioflag = IO_NORMAL;
1769 if (DOINGASYNC(vp))
1770 ioflag |= IO_SYNC;
1766 error = UFS_TRUNCATE(vp, (off_t)0, ioflag, cnp->cn_cred,
1767 cnp->cn_thread);
1768 }
1769 cache_purge(vp);
1770#ifdef UFS_DIRHASH
1771 /* Kill any active hash; i_effnlink == 0, so it will not come back. */
1772 if (ip->i_dirhash != NULL)
1773 ufsdirhash_free(ip);

--- 201 unchanged lines hidden (view full) ---

1975 struct inode *ip;
1976 ufs2_daddr_t blkno;
1977 int error;
1978
1979 ip = VTOI(vp);
1980 if (vp->v_type == VBLK || vp->v_type == VCHR)
1981 panic("ufs_strategy: spec");
1982 if (bp->b_blkno == bp->b_lblkno) {
1771 error = UFS_TRUNCATE(vp, (off_t)0, ioflag, cnp->cn_cred,
1772 cnp->cn_thread);
1773 }
1774 cache_purge(vp);
1775#ifdef UFS_DIRHASH
1776 /* Kill any active hash; i_effnlink == 0, so it will not come back. */
1777 if (ip->i_dirhash != NULL)
1778 ufsdirhash_free(ip);

--- 201 unchanged lines hidden (view full) ---

1980 struct inode *ip;
1981 ufs2_daddr_t blkno;
1982 int error;
1983
1984 ip = VTOI(vp);
1985 if (vp->v_type == VBLK || vp->v_type == VCHR)
1986 panic("ufs_strategy: spec");
1987 if (bp->b_blkno == bp->b_lblkno) {
1983 error = ufs_bmaparray(vp, bp->b_lblkno, &blkno, NULL, NULL);
1988 error = ufs_bmaparray(vp, bp->b_lblkno, &blkno, bp, NULL, NULL);
1984 bp->b_blkno = blkno;
1985 if (error) {
1986 bp->b_error = error;
1987 bp->b_ioflags |= BIO_ERROR;
1988 bufdone(bp);
1989 return (error);
1990 }
1991 if ((long)bp->b_blkno == -1)

--- 762 unchanged lines hidden ---
1989 bp->b_blkno = blkno;
1990 if (error) {
1991 bp->b_error = error;
1992 bp->b_ioflags |= BIO_ERROR;
1993 bufdone(bp);
1994 return (error);
1995 }
1996 if ((long)bp->b_blkno == -1)

--- 762 unchanged lines hidden ---