summaryrefslogtreecommitdiffstats
path: root/sys/ufs/ffs/ffs_alloc.c
diff options
context:
space:
mode:
authorrgrimes <rgrimes@FreeBSD.org>1994-05-25 09:21:21 +0000
committerrgrimes <rgrimes@FreeBSD.org>1994-05-25 09:21:21 +0000
commit2469c867a164210ce96143517059f21db7f1fd17 (patch)
tree9179427ac860211c445df663fd2b86267366bfba /sys/ufs/ffs/ffs_alloc.c
parentcb0aba89af15a48e2655e898a503946ac4cb42ae (diff)
downloadFreeBSD-src-2469c867a164210ce96143517059f21db7f1fd17.zip
FreeBSD-src-2469c867a164210ce96143517059f21db7f1fd17.tar.gz
The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.
Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
Diffstat (limited to 'sys/ufs/ffs/ffs_alloc.c')
-rw-r--r--sys/ufs/ffs/ffs_alloc.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c
index cdd2e4b..15e8718 100644
--- a/sys/ufs/ffs/ffs_alloc.c
+++ b/sys/ufs/ffs/ffs_alloc.c
@@ -63,6 +63,8 @@ static u_long ffs_hashalloc
static ino_t ffs_nodealloccg __P((struct inode *, int, daddr_t, int));
static daddr_t ffs_mapsearch __P((struct fs *, struct cg *, daddr_t, int));
+void ffs_clusteracct __P((struct fs *, struct cg *, daddr_t, int));
+
/*
* Allocate a block in the file system.
*
@@ -82,6 +84,7 @@ static daddr_t ffs_mapsearch __P((struct fs *, struct cg *, daddr_t, int));
* 2) quadradically rehash into other cylinder groups, until an
* available block is located.
*/
+int
ffs_alloc(ip, lbn, bpref, size, cred, bnp)
register struct inode *ip;
daddr_t lbn, bpref;
@@ -146,6 +149,7 @@ nospace:
* the original block. Failing that, the regular block allocator is
* invoked to get an appropriate block.
*/
+int
ffs_realloccg(ip, lbprev, bpref, osize, nsize, cred, bpp)
register struct inode *ip;
daddr_t lbprev;
@@ -304,7 +308,9 @@ nospace:
*/
#include <sys/sysctl.h>
int doasyncfree = 1;
+#ifdef DEBUG
struct ctldebug debug14 = { "doasyncfree", &doasyncfree };
+#endif
int
ffs_reallocblks(ap)
struct vop_reallocblks_args /* {
@@ -316,7 +322,7 @@ ffs_reallocblks(ap)
struct inode *ip;
struct vnode *vp;
struct buf *sbp, *ebp;
- daddr_t *bap, *sbap, *ebap;
+ daddr_t *bap, *sbap, *ebap = 0;
struct cluster_save *buflist;
daddr_t start_lbn, end_lbn, soff, eoff, newblk, blkno;
struct indir start_ap[NIADDR + 1], end_ap[NIADDR + 1], *idp;
@@ -466,6 +472,7 @@ fail:
* 2) quadradically rehash into other cylinder groups, until an
* available inode is located.
*/
+int
ffs_valloc(ap)
struct vop_valloc_args /* {
struct vnode *a_pvp;
@@ -1150,6 +1157,7 @@ gotit:
* free map. If a fragment is deallocated, a possible
* block reassembly is checked.
*/
+void
ffs_blkfree(ip, bno, size)
register struct inode *ip;
daddr_t bno;
@@ -1380,6 +1388,7 @@ ffs_mapsearch(fs, cgp, bpref, allocsiz)
*
* Cnt == 1 means free; cnt == -1 means allocating.
*/
+void
ffs_clusteracct(fs, cgp, blkno, cnt)
struct fs *fs;
struct cg *cgp;
OpenPOWER on IntegriCloud