1 #ifndef _AFFS_FS_SB
2 #define _AFFS_FS_SB
3 
4 /*
5  * super-block data in memory
6  *
7  * Block numbers are adjusted for their actual size
8  *
9  */
10 
11 struct affs_bm_info {
12 	u32 bm_key;			/* Disk block number */
13 	u32 bm_free;			/* Free blocks in here */
14 };
15 
16 struct affs_sb_info {
17 	int s_partition_size;		/* Partition size in blocks. */
18 	int s_reserved;			/* Number of reserved blocks. */
19 	//u32 s_blksize;			/* Initial device blksize */
20 	u32 s_data_blksize;		/* size of the data block w/o header */
21 	u32 s_root_block;		/* FFS root block number. */
22 	int s_hashsize;			/* Size of hash table. */
23 	unsigned long s_flags;		/* See below. */
24 	uid_t s_uid;			/* uid to override */
25 	gid_t s_gid;			/* gid to override */
26 	umode_t s_mode;			/* mode to override */
27 	struct buffer_head *s_root_bh;	/* Cached root block. */
28 	struct semaphore s_bmlock;	/* Protects bitmap access. */
29 	struct affs_bm_info *s_bitmap;	/* Bitmap infos. */
30 	u32 s_bmap_count;		/* # of bitmap blocks. */
31 	u32 s_bmap_bits;		/* # of bits in one bitmap blocks */
32 	u32 s_last_bmap;
33 	struct buffer_head *s_bmap_bh;
34 	char *s_prefix;			/* Prefix for volumes and assigns. */
35 	int s_prefix_len;		/* Length of prefix. */
36 	char s_volume[32];		/* Volume prefix for absolute symlinks. */
37 };
38 
39 #define SF_INTL		0x0001		/* International filesystem. */
40 #define SF_BM_VALID	0x0002		/* Bitmap is valid. */
41 #define SF_IMMUTABLE	0x0004		/* Protection bits cannot be changed */
42 #define SF_QUIET	0x0008		/* chmod errors will be not reported */
43 #define SF_SETUID	0x0010		/* Ignore Amiga uid */
44 #define SF_SETGID	0x0020		/* Ignore Amiga gid */
45 #define SF_SETMODE	0x0040		/* Ignore Amiga protection bits */
46 #define SF_MUFS		0x0100		/* Use MUFS uid/gid mapping */
47 #define SF_OFS		0x0200		/* Old filesystem */
48 #define SF_PREFIX	0x0400		/* Buffer for prefix is allocated */
49 #define SF_VERBOSE	0x0800		/* Talk about fs when mounting */
50 
51 /* short cut to get to the affs specific sb data */
52 #define AFFS_SB		(&sb->u.affs_sb)
53 
54 #endif
55