From e0cf717542b517018e302eeca29b3111bf17a925 Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Tue, 16 May 2006 00:14:20 +0000 Subject: [PATCH] Read block hints list from last snapshot on the active snapshot list. --- sys/ufs/ffs/ffs_snapshot.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c index 3b1f99bf78b0..79afa44c16f4 100644 --- a/sys/ufs/ffs/ffs_snapshot.c +++ b/sys/ufs/ffs/ffs_snapshot.c @@ -1889,6 +1889,7 @@ ffs_snapshot_mount(mp) struct thread *td = curthread; struct snapdata *sn; struct vnode *vp; + struct vnode *lastvp; struct inode *ip; struct uio auio; struct iovec aiov; @@ -1906,6 +1907,7 @@ ffs_snapshot_mount(mp) * Process each snapshot listed in the superblock. */ vp = NULL; + lastvp = NULL; sn = devvp->v_rdev->si_snapdata; for (snaploc = 0; snaploc < FSMAXSNAP; snaploc++) { if (fs->fs_snapinum[snaploc] == 0) @@ -1976,7 +1978,9 @@ ffs_snapshot_mount(mp) vp->v_vflag |= VV_SYSTEM; VI_UNLOCK(devvp); VOP_UNLOCK(vp, 0, td); + lastvp = vp; } + vp = lastvp; /* * No usable snapshots found. */