ffs_snapshot.c (71073) | ffs_snapshot.c (72376) |
---|---|
1/* 2 * Copyright 2000 Marshall Kirk McKusick. All Rights Reserved. 3 * 4 * Further information about snapshots can be obtained from: 5 * 6 * Marshall Kirk McKusick http://www.mckusick.com/softdep/ 7 * 1614 Oxford Street mckusick@mckusick.com 8 * Berkeley, CA 94709-1608 +1-510-843-9542 --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)ffs_snapshot.c 8.11 (McKusick) 7/23/00 | 1/* 2 * Copyright 2000 Marshall Kirk McKusick. All Rights Reserved. 3 * 4 * Further information about snapshots can be obtained from: 5 * 6 * Marshall Kirk McKusick http://www.mckusick.com/softdep/ 7 * 1614 Oxford Street mckusick@mckusick.com 8 * Berkeley, CA 94709-1608 +1-510-843-9542 --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)ffs_snapshot.c 8.11 (McKusick) 7/23/00 |
34 * $FreeBSD: head/sys/ufs/ffs/ffs_snapshot.c 71073 2001-01-15 18:30:40Z iedowse $ | 34 * $FreeBSD: head/sys/ufs/ffs/ffs_snapshot.c 72376 2001-02-12 00:20:08Z jake $ |
35 */ 36 37#include <sys/param.h> 38#include <sys/systm.h> 39#include <sys/bio.h> 40#include <sys/buf.h> 41#include <sys/proc.h> 42#include <sys/namei.h> --- 937 unchanged lines hidden (view full) --- 980 p->p_flag |= P_COWINPROGRESS; 981 error = VOP_BALLOC(vp, lblktosize(fs, (off_t)lbn), 982 fs->fs_bsize, KERNCRED, B_METAONLY | B_NOWAIT, &ibp); 983 p->p_flag &= ~P_COWINPROGRESS; 984 if (error) { 985 VOP_UNLOCK(vp, 0, p); 986 if (error != EWOULDBLOCK) 987 break; | 35 */ 36 37#include <sys/param.h> 38#include <sys/systm.h> 39#include <sys/bio.h> 40#include <sys/buf.h> 41#include <sys/proc.h> 42#include <sys/namei.h> --- 937 unchanged lines hidden (view full) --- 980 p->p_flag |= P_COWINPROGRESS; 981 error = VOP_BALLOC(vp, lblktosize(fs, (off_t)lbn), 982 fs->fs_bsize, KERNCRED, B_METAONLY | B_NOWAIT, &ibp); 983 p->p_flag &= ~P_COWINPROGRESS; 984 if (error) { 985 VOP_UNLOCK(vp, 0, p); 986 if (error != EWOULDBLOCK) 987 break; |
988 tsleep(vp, p->p_usrpri, "nap", 1); | 988 tsleep(vp, p->p_pri.pri_user, "nap", 1); |
989 goto retry; 990 } 991 indiroff = (lbn - NDADDR) % NINDIR(fs); 992 blkno = ((ufs_daddr_t *)(ibp->b_data))[indiroff]; 993 bqrelse(ibp); 994 } 995#ifdef DIAGNOSTIC 996 if (blkno == BLK_SNAP && bp->b_lblkno >= 0) --- 11 unchanged lines hidden (view full) --- 1008 p->p_flag |= P_COWINPROGRESS; 1009 error = VOP_BALLOC(vp, lblktosize(fs, (off_t)lbn), 1010 fs->fs_bsize, KERNCRED, B_NOWAIT, &cbp); 1011 p->p_flag &= ~P_COWINPROGRESS; 1012 VOP_UNLOCK(vp, 0, p); 1013 if (error) { 1014 if (error != EWOULDBLOCK) 1015 break; | 989 goto retry; 990 } 991 indiroff = (lbn - NDADDR) % NINDIR(fs); 992 blkno = ((ufs_daddr_t *)(ibp->b_data))[indiroff]; 993 bqrelse(ibp); 994 } 995#ifdef DIAGNOSTIC 996 if (blkno == BLK_SNAP && bp->b_lblkno >= 0) --- 11 unchanged lines hidden (view full) --- 1008 p->p_flag |= P_COWINPROGRESS; 1009 error = VOP_BALLOC(vp, lblktosize(fs, (off_t)lbn), 1010 fs->fs_bsize, KERNCRED, B_NOWAIT, &cbp); 1011 p->p_flag &= ~P_COWINPROGRESS; 1012 VOP_UNLOCK(vp, 0, p); 1013 if (error) { 1014 if (error != EWOULDBLOCK) 1015 break; |
1016 tsleep(vp, p->p_usrpri, "nap", 1); | 1016 tsleep(vp, p->p_pri.pri_user, "nap", 1); |
1017 goto retry; 1018 } 1019#ifdef DEBUG 1020 if (snapdebug) { 1021 printf("Copyonwrite: snapino %d lbn %d for ", 1022 ip->i_number, lbn); 1023 if (bp->b_vp == ap->a_vp) 1024 printf("fs metadata"); --- 52 unchanged lines hidden --- | 1017 goto retry; 1018 } 1019#ifdef DEBUG 1020 if (snapdebug) { 1021 printf("Copyonwrite: snapino %d lbn %d for ", 1022 ip->i_number, lbn); 1023 if (bp->b_vp == ap->a_vp) 1024 printf("fs metadata"); --- 52 unchanged lines hidden --- |