/* * This file is part of the UCB release of Plan 9. It is subject to the license * terms in the LICENSE file found in the top-level directory of this * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No * part of the UCB release of Plan 9, including this file, may be copied, * modified, propagated, or distributed except according to the terms contained * in the LICENSE file. */typedef struct MetaBlock MetaBlock;typedef struct MetaEntry MetaEntry;#define MaxBlock (1UL<<31)enum { BytesPerEntry = 100, /* estimate of bytes per dir entries - determines number of index entries in the block */ FullPercentage = 80, /* don't allocate in block if more than this percentage full */ FlushSize = 200, /* number of blocks to flush */ DirtyPercentage = 50 /* maximum percentage of dirty blocks */};struct MetaEntry{ uchar *p; ushort size;};struct MetaBlock{ int maxsize; /* size of block */ int size; /* size used */ int free; /* free space within used size */ int maxindex; /* entries allocated for table */ int nindex; /* amount of table used */ int unbotch; uchar *buf;};struct VacDirEnum{ VacFile *file; u32int boff; int i, n; VacDir *buf;};
/*
* This file is part of the UCB release of Plan 9. It is subject to the license
* terms in the LICENSE file found in the top-level directory of this
* distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
* part of the UCB release of Plan 9, including this file, may be copied,
* modified, propagated, or distributed except according to the terms contained
* in the LICENSE file.
*/
typedef struct MetaBlock MetaBlock;
typedef struct MetaEntry MetaEntry;
#define MaxBlock (1UL<<31)
enum {
BytesPerEntry = 100, /* estimate of bytes per dir entries - determines number of index entries in the block */
FullPercentage = 80, /* don't allocate in block if more than this percentage full */
FlushSize = 200, /* number of blocks to flush */
DirtyPercentage = 50 /* maximum percentage of dirty blocks */
};
struct MetaEntry
{
uchar *p;
ushort size;
};
struct MetaBlock
{
int maxsize; /* size of block */
int size; /* size used */
int free; /* free space within used size */
int maxindex; /* entries allocated for table */
int nindex; /* amount of table used */
int unbotch;
uchar *buf;
};
struct VacDirEnum
{
VacFile *file;
u32int boff;
int i, n;
VacDir *buf;
};