Lines Matching refs:ip

116 ffs_snapgone(ip)
117 struct inode *ip;
216 struct inode *ip, *xp;
305 ip = VTOI(vp);
306 devvp = ITODEVVP(ip);
316 ip->i_size = lblktosize(fs, (off_t)numblks);
317 DIP_SET(ip, i_size, ip->i_size);
318 ip->i_flag |= IN_SIZEMOD | IN_CHANGE | IN_UPDATE;
398 ip->i_flags |= SF_SNAPSHOT;
399 DIP_SET(ip, i_flags, ip->i_flags);
400 ip->i_flag |= IN_CHANGE | IN_UPDATE;
438 if (ip->i_effnlink == 0) {
678 fs->fs_snapinum[snaploc] = ip->i_number;
679 if (ip->i_nextsnap.tqe_prev != 0)
681 (uintmax_t)ip->i_number);
682 TAILQ_INSERT_TAIL(&sn->sn_head, ip, i_nextsnap);
708 if (xp == ip)
733 ip->i_snapblklist = &snapblklist[1];
739 if (I_IS_UFS1(ip))
740 error = expunge_ufs1(vp, ip, copy_fs, mapacct_ufs1,
743 error = expunge_ufs2(vp, ip, copy_fs, mapacct_ufs2,
750 if (snaplistsize < ip->i_snapblklist - snapblklist)
752 snaplistsize = ip->i_snapblklist - snapblklist;
754 ip->i_snapblklist = 0;
763 auio.uio_offset = ip->i_size;
821 if (DIP(ip, i_db[blockno]) != 0)
884 struct inode *ip;
890 ip = VTOI(vp);
891 fs = ITOFS(ip);
892 error = bread(ITODEVVP(ip), fsbtodb(fs, cgtod(fs, cg)),
903 UFS_LOCK(ITOUMP(ip));
912 UFS_UNLOCK(ITOUMP(ip));
930 DIP_SET(ip, i_db[loc], BLK_NOCOPY);
931 else if (passno == 2 && DIP(ip, i_db[loc])== BLK_NOCOPY)
932 DIP_SET(ip, i_db[loc], 0);
933 else if (passno == 1 && DIP(ip, i_db[loc])== BLK_NOCOPY)
956 if (I_IS_UFS1(ip)) {
1189 struct inode *ip = VTOI(vp);
1201 blkp = &ip->i_din1->di_db[lbn];
1202 ip->i_flag |= IN_CHANGE | IN_UPDATE;
1243 struct inode *ip;
1247 ip = VTOI(vp);
1248 inum = ip->i_number;
1258 *ip->i_snapblklist++ = lblkno;
1261 ffs_blkfree(ITOUMP(ip), fs, vp, blkno, fs->fs_bsize, inum,
1473 struct inode *ip = VTOI(vp);
1485 blkp = &ip->i_din2->di_db[lbn];
1486 ip->i_flag |= IN_CHANGE | IN_UPDATE;
1527 struct inode *ip;
1531 ip = VTOI(vp);
1532 inum = ip->i_number;
1542 *ip->i_snapblklist++ = lblkno;
1545 ffs_blkfree(ITOUMP(ip), fs, vp, blkno, fs->fs_bsize, inum,
1556 ffs_snapgone(ip)
1557 struct inode *ip;
1569 sn = ITODEVVP(ip)->v_rdev->si_snapdata;
1572 if (xp == ip)
1575 vrele(ITOV(ip));
1578 (uintmax_t)ip->i_number);
1582 ump = ITOUMP(ip);
1586 if (fs->fs_snapinum[snaploc] == ip->i_number)
1606 struct inode *ip;
1614 ip = VTOI(vp);
1615 fs = ITOFS(ip);
1616 devvp = ITODEVVP(ip);
1625 if (ip->i_nextsnap.tqe_prev != 0) {
1627 TAILQ_REMOVE(&sn->sn_head, ip, i_nextsnap);
1628 ip->i_nextsnap.tqe_prev = 0;
1648 dblk = DIP(ip, i_db[blkno]);
1652 DIP_SET(ip, i_db[blkno], 0);
1654 ffs_snapblkfree(fs, ITODEVVP(ip), dblk, fs->fs_bsize,
1655 ip->i_number, vp->v_type, NULL))) {
1656 DIP_SET(ip, i_blocks, DIP(ip, i_blocks) -
1658 DIP_SET(ip, i_db[blkno], 0);
1661 numblks = howmany(ip->i_size, fs->fs_bsize);
1672 if (I_IS_UFS1(ip)) {
1679 ffs_snapblkfree(fs, ITODEVVP(ip), dblk,
1680 fs->fs_bsize, ip->i_number, vp->v_type,
1682 ip->i_din1->di_blocks -=
1694 ffs_snapblkfree(fs, ITODEVVP(ip), dblk,
1695 fs->fs_bsize, ip->i_number, vp->v_type, NULL))) {
1696 ip->i_din2->di_blocks -= btodb(fs->fs_bsize);
1705 ip->i_flags &= ~SF_SNAPSHOT;
1706 DIP_SET(ip, i_flags, ip->i_flags);
1707 ip->i_flag |= IN_CHANGE | IN_UPDATE;
1719 if (!getinoquota(ip))
1720 (void) chkdq(ip, DIP(ip, i_blocks), KERNCRED, FORCE);
1754 struct inode *ip;
1772 TAILQ_FOREACH(ip, &sn->sn_head, i_nextsnap) {
1773 vp = ITOV(ip);
1780 blkno = DIP(ip, i_db[lbn]);
1789 if (I_IS_UFS1(ip))
1812 DIP_SET(ip, i_db[lbn], BLK_NOCOPY);
1813 ip->i_flag |= IN_CHANGE | IN_UPDATE;
1814 } else if (I_IS_UFS1(ip)) {
1846 (uintmax_t)ip->i_number,
1855 softdep_inode_append(ip,
1861 DIP_SET(ip, i_db[lbn], bno);
1862 } else if (I_IS_UFS1(ip)) {
1869 DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + btodb(size));
1870 ip->i_flag |= IN_CHANGE | IN_UPDATE;
1890 "Copyonremove: snapino ", (uintmax_t)ip->i_number,
1908 ip->i_effnlink > 0)
1919 ip->i_effnlink > 0)
1966 struct inode *ip;
1993 ip = VTOI(vp);
1996 } else if (!IS_SNAPSHOT(ip)) {
1998 } else if (ip->i_size ==
2035 if (ip->i_nextsnap.tqe_prev != 0)
2037 (uintmax_t)ip->i_number);
2039 TAILQ_INSERT_TAIL(&sn->sn_head, ip, i_nextsnap);
2252 struct inode *ip;
2274 ip = TAILQ_FIRST(&sn->sn_head);
2275 fs = ITOFS(ip);
2321 TAILQ_FOREACH(ip, &sn->sn_head, i_nextsnap) {
2322 vp = ITOV(ip);
2340 blkno = DIP(ip, i_db[lbn]);
2349 if (I_IS_UFS1(ip))
2380 (uintmax_t)ip->i_number, (intmax_t)lbn);
2404 dopersistence) && ip->i_effnlink > 0)
2417 dopersistence) && ip->i_effnlink > 0)
2469 struct inode *ip;
2486 TAILQ_FOREACH(ip, &sn->sn_head, i_nextsnap) {
2487 vp = ITOV(ip);
2503 struct inode *ip = VTOI(vp);
2507 ip = VTOI(vp);
2508 fs = ITOFS(ip);
2517 g_io_request(bip, ITODEVVP(ip)->v_bufobj.bo_private);
2534 struct inode *ip;
2562 ip = VTOI(vp);
2563 if ((ip->i_flag & IN_LAZYACCESS) != 0) {
2564 ip->i_flag &= ~IN_LAZYACCESS;
2565 ip->i_flag |= IN_MODIFIED;