patch-1.3.99 linux/include/linux/affs_fs_sb.h
Next file: linux/include/linux/affs_hardblocks.h
Previous file: linux/include/linux/affs_fs_i.h
Back to the patch index
Back to the overall index
- Lines: 84
- Date:
Mon May 6 14:03:07 1996
- Orig file:
v1.3.98/linux/include/linux/affs_fs_sb.h
- Orig date:
Tue Apr 23 13:57:13 1996
diff -u --recursive --new-file v1.3.98/linux/include/linux/affs_fs_sb.h linux/include/linux/affs_fs_sb.h
@@ -4,34 +4,63 @@
/*
* super-block data in memory
*
- * Block numbers are for FFS-sized (normally 512 bytes) blocks.
+ * Block numbers are adjusted for their actual size
*
*/
-/* Mount options */
+#include <linux/amigaffs.h>
-struct affs_options {
- int offset;
- int size;
- int root;
- int nocase:1; /* Ignore case in filenames. */
- int conv_links:1; /* convert pathnames symlinks point to */
+#define MAX_ZONES 8
+#define AFFS_DATA_MIN_FREE 30 /* Percentage of free blocks needed for a data zone */
+#define AFFS_HDR_MIN_FREE 10 /* Same for header blocks */
+
+struct affs_bm_info {
+ struct buffer_head *bm_bh; /* Buffer for bitmap. */
+ int bm_free; /* Free blocks. */
+ int bm_size; /* Size in bits, rounded to multiple of 32. */
+ int bm_firstblk; /* Block number of first bit in this map */
+};
+
+struct affs_zone {
+ unsigned long z_ino; /* Associated inode number */
+ struct affs_bm_info *z_bm; /* Zone lies in this bitmap */
+ int z_start; /* Index of first word in bitmap */
+ int z_zone_no; /* Zone number */
+ unsigned long z_lru_time; /* Time of last usage */
};
struct affs_sb_info {
- int s_partition_offset; /* Offset to start in blocks. */
int s_partition_size; /* Partition size in blocks. */
- int s_root_block; /* Absolute FFS root block number. */
- int s_block_size; /* Block size in bytes. */
- char s_volume_name[42];
- struct affs_options s_options;
+ int s_root_block; /* FFS root block number. */
+ int s_hashsize; /* Size of hash table. */
+ unsigned long s_flags; /* See below. */
+ short s_uid; /* uid to override */
+ short s_gid; /* gid to override */
+ umode_t s_mode; /* mode to override */
+ int s_reserved; /* Number of reserved blocks. */
+ struct buffer_head *s_root_bh; /* Cached root block. */
+ struct affs_bm_info *s_bitmap; /* Bitmap infos. */
+ int s_bm_count; /* Number of bitmap blocks. */
+ int s_nextzone; /* Next zone to look for free blocks. */
+ int s_num_zones; /* Total number of zones. */
+ struct affs_zone *s_zones; /* The zones themselfes. */
+ char *s_zonemap; /* Bitmap for zones. */
+ char *s_prefix; /* Prefix for volumes and assignes. */
+ int s_prefix_len; /* Length of prefix. */
+ char s_volume[32]; /* Volume prefix for absolute symlinks. */
};
-#endif
-
-
-
-
-
-
+#define SF_INTL 0x0001 /* International filesystem. */
+#define SF_BM_VALID 0x0002 /* Bitmap is valid. */
+#define SF_IMMUTABLE 0x0004 /* Protection bits cannot be changed */
+#define SF_QUIET 0x0008 /* chmod errors will be not reported */
+#define SF_SETUID 0x0010 /* Ignore Amiga uid */
+#define SF_SETGID 0x0020 /* Ignore Amiga gid */
+#define SF_SETMODE 0x0040 /* Ignore Amiga protection bits */
+#define SF_USE_MP 0x0080 /* Use uid and gid from mount point */
+#define SF_MUFS 0x0100 /* Use MUFS uid/gid mapping */
+#define SF_OFS 0x0200 /* Old filesystem */
+#define SF_PREFIX 0x0400 /* Buffer for prefix is allocated */
+#define SF_VERBOSE 0x0800 /* Talk about fs when mounting */
+#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this