summaryrefslogtreecommitdiffstats
path: root/sys/ufs/ffs/ffs_snapshot.c
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2012-03-25 00:02:37 +0000
committermckusick <mckusick@FreeBSD.org>2012-03-25 00:02:37 +0000
commite6ce77b8ea66bba7bcb79a01ae6d6cdff763ff4f (patch)
treec6eb532f373fe63d2db8d2cd447bf0bb69ae2d21 /sys/ufs/ffs/ffs_snapshot.c
parentdfeac3e82445b83c514221770b5f546e26f11219 (diff)
downloadFreeBSD-src-e6ce77b8ea66bba7bcb79a01ae6d6cdff763ff4f.zip
FreeBSD-src-e6ce77b8ea66bba7bcb79a01ae6d6cdff763ff4f.tar.gz
Add a third flags argument to ffs_syncvnode to avoid a possible conflict
with MNT_WAIT flags that passed in its second argument. This will be MFC'ed together with r232351. Discussed with: kib
Diffstat (limited to 'sys/ufs/ffs/ffs_snapshot.c')
-rw-r--r--sys/ufs/ffs/ffs_snapshot.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c
index c930f5d..dfd0040 100644
--- a/sys/ufs/ffs/ffs_snapshot.c
+++ b/sys/ufs/ffs/ffs_snapshot.c
@@ -362,7 +362,7 @@ restart:
goto out;
bawrite(nbp);
if (cg % 10 == 0)
- ffs_syncvnode(vp, MNT_WAIT);
+ ffs_syncvnode(vp, MNT_WAIT, 0);
}
/*
* Copy all the cylinder group maps. Although the
@@ -385,7 +385,7 @@ restart:
error = cgaccount(cg, vp, nbp, 1);
bawrite(nbp);
if (cg % 10 == 0)
- ffs_syncvnode(vp, MNT_WAIT);
+ ffs_syncvnode(vp, MNT_WAIT, 0);
if (error)
goto out;
}
@@ -400,7 +400,7 @@ restart:
* Since we have marked it as a snapshot it is safe to
* unlock it as no process will be allowed to write to it.
*/
- if ((error = ffs_syncvnode(vp, MNT_WAIT)) != 0)
+ if ((error = ffs_syncvnode(vp, MNT_WAIT, 0)) != 0)
goto out;
VOP_UNLOCK(vp, 0);
/*
@@ -861,7 +861,7 @@ out:
MNT_IUNLOCK(mp);
if (error)
(void) ffs_truncate(vp, (off_t)0, 0, NOCRED, td);
- (void) ffs_syncvnode(vp, MNT_WAIT);
+ (void) ffs_syncvnode(vp, MNT_WAIT, 0);
if (error)
vput(vp);
else
@@ -1714,7 +1714,7 @@ ffs_snapremove(vp)
* may find indirect pointers using the magic BLK_* values.
*/
if (DOINGSOFTDEP(vp))
- ffs_syncvnode(vp, MNT_WAIT);
+ ffs_syncvnode(vp, MNT_WAIT, 0);
#ifdef QUOTA
/*
* Reenable disk quotas for ex-snapshot file.
@@ -1908,7 +1908,7 @@ retry:
bawrite(cbp);
if ((vtype == VDIR || dopersistence) &&
ip->i_effnlink > 0)
- (void) ffs_syncvnode(vp, MNT_WAIT|NO_INO_UPDT);
+ (void) ffs_syncvnode(vp, MNT_WAIT, NO_INO_UPDT);
continue;
}
/*
@@ -1919,7 +1919,7 @@ retry:
bawrite(cbp);
if ((vtype == VDIR || dopersistence) &&
ip->i_effnlink > 0)
- (void) ffs_syncvnode(vp, MNT_WAIT|NO_INO_UPDT);
+ (void) ffs_syncvnode(vp, MNT_WAIT, NO_INO_UPDT);
break;
}
savedcbp = cbp;
@@ -1937,7 +1937,7 @@ retry:
bawrite(savedcbp);
if ((vtype == VDIR || dopersistence) &&
VTOI(vp)->i_effnlink > 0)
- (void) ffs_syncvnode(vp, MNT_WAIT|NO_INO_UPDT);
+ (void) ffs_syncvnode(vp, MNT_WAIT, NO_INO_UPDT);
}
/*
* If we have been unable to allocate a block in which to do
@@ -2000,7 +2000,7 @@ ffs_snapshot_mount(mp)
} else {
reason = "old format snapshot";
(void)ffs_truncate(vp, (off_t)0, 0, NOCRED, td);
- (void)ffs_syncvnode(vp, MNT_WAIT);
+ (void)ffs_syncvnode(vp, MNT_WAIT, 0);
}
printf("ffs_snapshot_mount: %s inode %d\n",
reason, fs->fs_snapinum[snaploc]);
@@ -2401,7 +2401,7 @@ ffs_copyonwrite(devvp, bp)
bawrite(cbp);
if ((devvp == bp->b_vp || bp->b_vp->v_type == VDIR ||
dopersistence) && ip->i_effnlink > 0)
- (void) ffs_syncvnode(vp, MNT_WAIT|NO_INO_UPDT);
+ (void) ffs_syncvnode(vp, MNT_WAIT, NO_INO_UPDT);
else
launched_async_io = 1;
continue;
@@ -2414,7 +2414,7 @@ ffs_copyonwrite(devvp, bp)
bawrite(cbp);
if ((devvp == bp->b_vp || bp->b_vp->v_type == VDIR ||
dopersistence) && ip->i_effnlink > 0)
- (void) ffs_syncvnode(vp, MNT_WAIT|NO_INO_UPDT);
+ (void) ffs_syncvnode(vp, MNT_WAIT, NO_INO_UPDT);
else
launched_async_io = 1;
break;
@@ -2434,7 +2434,7 @@ ffs_copyonwrite(devvp, bp)
bawrite(savedcbp);
if ((devvp == bp->b_vp || bp->b_vp->v_type == VDIR ||
dopersistence) && VTOI(vp)->i_effnlink > 0)
- (void) ffs_syncvnode(vp, MNT_WAIT|NO_INO_UPDT);
+ (void) ffs_syncvnode(vp, MNT_WAIT, NO_INO_UPDT);
else
launched_async_io = 1;
}
@@ -2484,7 +2484,7 @@ ffs_sync_snap(mp, waitfor)
}
TAILQ_FOREACH(ip, &sn->sn_head, i_nextsnap) {
vp = ITOV(ip);
- ffs_syncvnode(vp, waitfor|NO_INO_UPDT);
+ ffs_syncvnode(vp, waitfor, NO_INO_UPDT);
}
lockmgr(&sn->sn_lock, LK_RELEASE, NULL);
}
OpenPOWER on IntegriCloud