aboutsummaryrefslogtreecommitdiff
path: root/sys/ufs/ffs/ffs_snapshot.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/ufs/ffs/ffs_snapshot.c')
-rw-r--r--sys/ufs/ffs/ffs_snapshot.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c
index 1181e5f0add2..6e130de36f16 100644
--- a/sys/ufs/ffs/ffs_snapshot.c
+++ b/sys/ufs/ffs/ffs_snapshot.c
@@ -211,7 +211,7 @@ restart:
if (error)
goto out;
ip->i_size = lblktosize(fs, (off_t)numblks);
- DIP(ip, i_size) = ip->i_size;
+ DIP_SET(ip, i_size, ip->i_size);
ip->i_flag |= IN_CHANGE | IN_UPDATE;
if ((error = readblock(bp, numblks - 1)) != 0)
goto out;
@@ -286,7 +286,7 @@ restart:
* Change inode to snapshot type file.
*/
ip->i_flags |= SF_SNAPSHOT;
- DIP(ip, i_flags) = ip->i_flags;
+ DIP_SET(ip, i_flags, ip->i_flags);
ip->i_flag |= IN_CHANGE | IN_UPDATE;
/*
* Ensure that the snapshot is completely on disk.
@@ -455,7 +455,7 @@ loop:
ffs_blkfree(copy_fs, vp, DIP(xp, i_db[loc]),
len, xp->i_number);
blkno = DIP(xp, i_db[loc]);
- DIP(xp, i_db[loc]) = 0;
+ DIP_SET(xp, i_db[loc], 0);
}
}
snaplistsize += 1;
@@ -466,7 +466,7 @@ loop:
error = expunge_ufs2(vp, xp, copy_fs, fullacct_ufs2,
BLK_NOCOPY);
if (blkno)
- DIP(xp, i_db[loc]) = blkno;
+ DIP_SET(xp, i_db[loc], blkno);
if (!error)
error = ffs_freefile(copy_fs, vp, xp->i_number,
xp->i_mode);
@@ -738,9 +738,9 @@ cgaccount(cg, vp, nbp, passno)
if (base < NDADDR) {
for ( ; loc < NDADDR; loc++) {
if (ffs_isblock(fs, cg_blksfree(cgp), loc))
- DIP(ip, i_db[loc]) = BLK_NOCOPY;
+ DIP_SET(ip, i_db[loc], BLK_NOCOPY);
else if (passno == 2 && DIP(ip, i_db[loc])== BLK_NOCOPY)
- DIP(ip, i_db[loc]) = 0;
+ DIP_SET(ip, i_db[loc], 0);
else if (passno == 1 && DIP(ip, i_db[loc])== BLK_NOCOPY)
panic("ffs_snapshot: lost direct block");
}
@@ -1452,12 +1452,13 @@ ffs_snapremove(vp)
for (blkno = 1; blkno < NDADDR; blkno++) {
dblk = DIP(ip, i_db[blkno]);
if (dblk == BLK_NOCOPY || dblk == BLK_SNAP)
- DIP(ip, i_db[blkno]) = 0;
+ DIP_SET(ip, i_db[blkno], 0);
else if ((dblk == blkstofrags(fs, blkno) &&
ffs_snapblkfree(fs, ip->i_devvp, dblk, fs->fs_bsize,
ip->i_number))) {
- DIP(ip, i_blocks) -= btodb(fs->fs_bsize);
- DIP(ip, i_db[blkno]) = 0;
+ DIP_SET(ip, i_blocks, DIP(ip, i_blocks) -
+ btodb(fs->fs_bsize));
+ DIP_SET(ip, i_db[blkno], 0);
}
}
numblks = howmany(ip->i_size, fs->fs_bsize);
@@ -1500,7 +1501,7 @@ ffs_snapremove(vp)
* Clear snapshot flag and drop reference.
*/
ip->i_flags &= ~SF_SNAPSHOT;
- DIP(ip, i_flags) = ip->i_flags;
+ DIP_SET(ip, i_flags, ip->i_flags);
ip->i_flag |= IN_CHANGE | IN_UPDATE;
}
@@ -1597,7 +1598,7 @@ retry:
}
snapshot_locked = 1;
if (lbn < NDADDR) {
- DIP(ip, i_db[lbn]) = BLK_NOCOPY;
+ DIP_SET(ip, i_db[lbn], BLK_NOCOPY);
ip->i_flag |= IN_CHANGE | IN_UPDATE;
} else if (ip->i_ump->um_fstype == UFS1) {
((ufs1_daddr_t *)(ibp->b_data))[indiroff] =
@@ -1644,7 +1645,7 @@ retry:
(intmax_t)lbn, inum);
#endif
if (lbn < NDADDR) {
- DIP(ip, i_db[lbn]) = bno;
+ DIP_SET(ip, i_db[lbn], bno);
} else if (ip->i_ump->um_fstype == UFS1) {
((ufs1_daddr_t *)(ibp->b_data))[indiroff] = bno;
bdwrite(ibp);
@@ -1652,7 +1653,7 @@ retry:
((ufs2_daddr_t *)(ibp->b_data))[indiroff] = bno;
bdwrite(ibp);
}
- DIP(ip, i_blocks) += btodb(size);
+ DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + btodb(size));
ip->i_flag |= IN_CHANGE | IN_UPDATE;
VOP_UNLOCK(vp, 0, td);
return (1);