From 64972486c212456ccc0747ab609c3fec700d191d Mon Sep 17 00:00:00 2001 From: iedowse Date: Sun, 16 Dec 2001 18:51:11 +0000 Subject: Move the new superblock field `fs_active' into the region of the superblock that is already set up to handle pointer types. This fixes an accidental change in the superblock size on 64-bit platforms caused by revision 1.24. --- sys/ufs/ffs/fs.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sys/ufs/ffs/fs.h b/sys/ufs/ffs/fs.h index 55b6280..82f07af 100644 --- a/sys/ufs/ffs/fs.h +++ b/sys/ufs/ffs/fs.h @@ -108,7 +108,7 @@ /* * There is a 128-byte region in the superblock reserved for in-core * pointers to summary information. Originally this included an array - * of pointers to blocks of struct csum; now there are just three + * of pointers to blocks of struct csum; now there are just a few * pointers and the remaining space is padded with fs_ocsp[]. * * NOCSPTRS determines the size of this padding. One pointer (fs_csp) @@ -116,9 +116,11 @@ * all cylinder groups; a second (fs_maxcluster) points to an array * of cluster sizes that is computed as cylinder groups are inspected, * and the third points to an array that tracks the creation of new - * directories. + * directories. A fourth pointer, fs_active, is used when creating + * snapshots; it points to a bitmap of cylinder groups for which the + * free-block bitmap has changed since the snapshot operation began. */ -#define NOCSPTRS ((128 / sizeof(void *)) - 3) +#define NOCSPTRS ((128 / sizeof(void *)) - 4) /* * A summary of contiguous blocks of various sizes is maintained @@ -290,13 +292,13 @@ struct fs { u_int8_t *fs_contigdirs; /* # of contiguously allocated dirs */ struct csum *fs_csp; /* cg summary info buffer for fs_cs */ int32_t *fs_maxcluster; /* max cluster in each cyl group */ + u_int8_t *fs_active; /* used by snapshots to track fs */ int32_t fs_cpc; /* cyl per cycle in postbl */ int16_t fs_opostbl[16][8]; /* old rotation block list head */ int32_t fs_snapinum[FSMAXSNAP];/* list of snapshot inode numbers */ int32_t fs_avgfilesize; /* expected average file size */ int32_t fs_avgfpdir; /* expected # of files per directory */ - u_int8_t *fs_active; /* used by snapshots to track fs */ - int32_t fs_sparecon[25]; /* reserved for future constants */ + int32_t fs_sparecon[26]; /* reserved for future constants */ int32_t fs_pendingblocks; /* blocks in process of being freed */ int32_t fs_pendinginodes; /* inodes in process of being freed */ int32_t fs_contigsumsize; /* size of cluster summary array */ -- cgit v1.1