Deleted Added
full compact
ffs_alloc.c (34266) ffs_alloc.c (34961)
1/*
2 * Copyright (c) 1982, 1986, 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 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_alloc.c 8.18 (Berkeley) 5/26/95
1/*
2 * Copyright (c) 1982, 1986, 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 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_alloc.c 8.18 (Berkeley) 5/26/95
34 * $Id: ffs_alloc.c,v 1.47 1998/02/06 12:14:13 eivind Exp $
34 * $Id: ffs_alloc.c,v 1.48 1998/03/08 09:58:42 julian Exp $
35 */
36
37#include "opt_quota.h"
38
39#include <sys/param.h>
40#include <sys/systm.h>
41#include <sys/buf.h>
42#include <sys/proc.h>

--- 789 unchanged lines hidden (view full) ---

832 brelse(bp);
833 return (0);
834 }
835 cgp = (struct cg *)bp->b_data;
836 if (!cg_chkmagic(cgp)) {
837 brelse(bp);
838 return (0);
839 }
35 */
36
37#include "opt_quota.h"
38
39#include <sys/param.h>
40#include <sys/systm.h>
41#include <sys/buf.h>
42#include <sys/proc.h>

--- 789 unchanged lines hidden (view full) ---

832 brelse(bp);
833 return (0);
834 }
835 cgp = (struct cg *)bp->b_data;
836 if (!cg_chkmagic(cgp)) {
837 brelse(bp);
838 return (0);
839 }
840 cgp->cg_time = time.tv_sec;
840 cgp->cg_time = time_second;
841 bno = dtogd(fs, bprev);
842 for (i = numfrags(fs, osize); i < frags; i++)
843 if (isclr(cg_blksfree(cgp), bno + i)) {
844 brelse(bp);
845 return (0);
846 }
847 /*
848 * the current fragment can be extended

--- 50 unchanged lines hidden (view full) ---

899 return (0);
900 }
901 cgp = (struct cg *)bp->b_data;
902 if (!cg_chkmagic(cgp) ||
903 (cgp->cg_cs.cs_nbfree == 0 && size == fs->fs_bsize)) {
904 brelse(bp);
905 return (0);
906 }
841 bno = dtogd(fs, bprev);
842 for (i = numfrags(fs, osize); i < frags; i++)
843 if (isclr(cg_blksfree(cgp), bno + i)) {
844 brelse(bp);
845 return (0);
846 }
847 /*
848 * the current fragment can be extended

--- 50 unchanged lines hidden (view full) ---

899 return (0);
900 }
901 cgp = (struct cg *)bp->b_data;
902 if (!cg_chkmagic(cgp) ||
903 (cgp->cg_cs.cs_nbfree == 0 && size == fs->fs_bsize)) {
904 brelse(bp);
905 return (0);
906 }
907 cgp->cg_time = time.tv_sec;
907 cgp->cg_time = time_second;
908 if (size == fs->fs_bsize) {
909 bno = ffs_alloccgblk(ip, bp, bpref);
910 bdwrite(bp);
911 return (bno);
912 }
913 /*
914 * check to see if any fragments are already available
915 * allocsiz is the size which will be allocated, hacking

--- 309 unchanged lines hidden (view full) ---

1225 brelse(bp);
1226 return (0);
1227 }
1228 cgp = (struct cg *)bp->b_data;
1229 if (!cg_chkmagic(cgp) || cgp->cg_cs.cs_nifree == 0) {
1230 brelse(bp);
1231 return (0);
1232 }
908 if (size == fs->fs_bsize) {
909 bno = ffs_alloccgblk(ip, bp, bpref);
910 bdwrite(bp);
911 return (bno);
912 }
913 /*
914 * check to see if any fragments are already available
915 * allocsiz is the size which will be allocated, hacking

--- 309 unchanged lines hidden (view full) ---

1225 brelse(bp);
1226 return (0);
1227 }
1228 cgp = (struct cg *)bp->b_data;
1229 if (!cg_chkmagic(cgp) || cgp->cg_cs.cs_nifree == 0) {
1230 brelse(bp);
1231 return (0);
1232 }
1233 cgp->cg_time = time.tv_sec;
1233 cgp->cg_time = time_second;
1234 if (ipref) {
1235 ipref %= fs->fs_ipg;
1236 if (isclr(cg_inosused(cgp), ipref))
1237 goto gotit;
1238 }
1239 start = cgp->cg_irotor / NBBY;
1240 len = howmany(fs->fs_ipg - cgp->cg_irotor, NBBY);
1241 loc = skpc(0xff, len, &cg_inosused(cgp)[start]);

--- 75 unchanged lines hidden (view full) ---

1317 brelse(bp);
1318 return;
1319 }
1320 cgp = (struct cg *)bp->b_data;
1321 if (!cg_chkmagic(cgp)) {
1322 brelse(bp);
1323 return;
1324 }
1234 if (ipref) {
1235 ipref %= fs->fs_ipg;
1236 if (isclr(cg_inosused(cgp), ipref))
1237 goto gotit;
1238 }
1239 start = cgp->cg_irotor / NBBY;
1240 len = howmany(fs->fs_ipg - cgp->cg_irotor, NBBY);
1241 loc = skpc(0xff, len, &cg_inosused(cgp)[start]);

--- 75 unchanged lines hidden (view full) ---

1317 brelse(bp);
1318 return;
1319 }
1320 cgp = (struct cg *)bp->b_data;
1321 if (!cg_chkmagic(cgp)) {
1322 brelse(bp);
1323 return;
1324 }
1325 cgp->cg_time = time.tv_sec;
1325 cgp->cg_time = time_second;
1326 bno = dtogd(fs, bno);
1327 if (size == fs->fs_bsize) {
1328 blkno = fragstoblks(fs, bno);
1329 if (!ffs_isfreeblock(fs, cg_blksfree(cgp), blkno)) {
1330 printf("dev = 0x%lx, block = %ld, fs = %s\n",
1331 (u_long) ip->i_dev, bno, fs->fs_fsmnt);
1332 panic("ffs_blkfree: freeing free block");
1333 }

--- 144 unchanged lines hidden (view full) ---

1478 brelse(bp);
1479 return (error);
1480 }
1481 cgp = (struct cg *)bp->b_data;
1482 if (!cg_chkmagic(cgp)) {
1483 brelse(bp);
1484 return (0);
1485 }
1326 bno = dtogd(fs, bno);
1327 if (size == fs->fs_bsize) {
1328 blkno = fragstoblks(fs, bno);
1329 if (!ffs_isfreeblock(fs, cg_blksfree(cgp), blkno)) {
1330 printf("dev = 0x%lx, block = %ld, fs = %s\n",
1331 (u_long) ip->i_dev, bno, fs->fs_fsmnt);
1332 panic("ffs_blkfree: freeing free block");
1333 }

--- 144 unchanged lines hidden (view full) ---

1478 brelse(bp);
1479 return (error);
1480 }
1481 cgp = (struct cg *)bp->b_data;
1482 if (!cg_chkmagic(cgp)) {
1483 brelse(bp);
1484 return (0);
1485 }
1486 cgp->cg_time = time.tv_sec;
1486 cgp->cg_time = time_second;
1487 ino %= fs->fs_ipg;
1488 if (isclr(cg_inosused(cgp), ino)) {
1489 printf("dev = 0x%lx, ino = %ld, fs = %s\n",
1490 (u_long)pip->i_dev, ino, fs->fs_fsmnt);
1491 if (fs->fs_ronly == 0)
1492 panic("ffs_vfree: freeing free inode");
1493 }
1494 clrbit(cg_inosused(cgp), ino);

--- 189 unchanged lines hidden ---
1487 ino %= fs->fs_ipg;
1488 if (isclr(cg_inosused(cgp), ino)) {
1489 printf("dev = 0x%lx, ino = %ld, fs = %s\n",
1490 (u_long)pip->i_dev, ino, fs->fs_fsmnt);
1491 if (fs->fs_ronly == 0)
1492 panic("ffs_vfree: freeing free inode");
1493 }
1494 clrbit(cg_inosused(cgp), ino);

--- 189 unchanged lines hidden ---