Deleted Added
full compact
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 ---