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
11struct affs_bm_info {
12	u32 bm_key;			/* Disk block number */
13	u32 bm_free;			/* Free blocks in here */
14};
15
16struct 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#define SF_READONLY	0x1000		/* Don't allow to remount rw */
51
52/* short cut to get to the affs specific sb data */
53#define AFFS_SB		(&sb->u.affs_sb)
54
55#endif
56