Skip to contentSkip to conversation

cleanup headers of fat (1/2)

PATCH New OGAWA Hirofumi 1 participant 1 message Nov 2, 2002

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 cleanup headers of fat (1/2)

Hi,

This patch from Christoph Hellwig. Please apply.

merge msdos_fs_i.h and msdos_fs_sb.h into msdos_fs.h. In 2.5 fs.h doesn't need the first two anymore so they can safely be merged into it.

umsdos will need trivial adoption for that if it ever comes back from the bitbucket.

 include/linux/msdos_fs.h    |   82 ++++++++++++++++++++++++++++++++++++++------
 include/linux/umsdos_fs_i.h |    2 -
 include/linux/msdos_fs_i.h  |   21 -----------
 include/linux/msdos_fs_sb.h |   52 ---------------------------
 4 files changed, 72 insertions(+), 85 deletions(-)
include/linux/msdos_fs.h renamed from include/linux/msdos_fs.h~fat_header_cleanup +71 -11
@@ -5,6 +5,7 @@
  * The MS-DOS filesystem constants/structures
  */
 #include <linux/buffer_head.h>
+#include <linux/nls.h>
 #include <asm/byteorder.h>
 
 #define SECTOR_SIZE	512		/* sector size (bytes) */
@@ -187,19 +188,68 @@ struct vfat_slot_info {
 
 #ifdef __KERNEL__
 
-#include <linux/nls.h>
-#include <linux/msdos_fs_i.h>
-#include <linux/msdos_fs_sb.h>
+/*
+ * MS-DOS file system in-core superblock data
+ */
 
-static inline struct msdos_sb_info *MSDOS_SB(struct super_block *sb)
-{
-	return sb->s_fs_info;
-}
+struct fat_mount_options {
+	uid_t fs_uid;
+	gid_t fs_gid;
+	unsigned short fs_umask;
+	unsigned short fs_dmask;
+	unsigned short codepage;  /* Codepage for shortname conversions */
+	char *iocharset;          /* Charset used for filename input/display */
+	unsigned short shortname; /* flags for shortname display/create rule */
+	unsigned char name_check; /* r = relaxed, n = normal, s = strict */
+	unsigned quiet:1,         /* set = fake successful chmods and chowns */
+		 showexec:1,      /* set = only set x bit for com/exe/bat */
+		 sys_immutable:1, /* set = system files are immutable */
+		 dotsOK:1,        /* set = hidden and system files are named '.filename' */
+		 isvfat:1,        /* 0=no vfat long filename support, 1=vfat support */
+		 utf8:1,	  /* Use of UTF8 character set (Default) */
+		 unicode_xlate:1, /* create escape sequences for unhandled Unicode */
+		 numtail:1,       /* Does first alias have a numeric '~1' type tail? */
+		 atari:1,         /* Use Atari GEMDOS variation of MS-DOS fs */
+		 nocase:1;	  /* Does this need case conversion? 0=need case conversion*/
+};
 
-static inline struct msdos_inode_info *MSDOS_I(struct inode *inode)
-{
-	return container_of(inode, struct msdos_inode_info, vfs_inode);
-}
+struct msdos_sb_info {
+	unsigned short cluster_size; /* sectors/cluster */
+	unsigned short cluster_bits; /* sectors/cluster */
+	unsigned char fats,fat_bits; /* number of FATs, FAT bits (12 or 16) */
+	unsigned short fat_start;
+	unsigned long fat_length;    /* FAT start & length (sec.) */
+	unsigned long dir_start;
+	unsigned short dir_entries;  /* root dir start & entries */
+	unsigned long data_start;    /* first data sector */
+	unsigned long clusters;      /* number of clusters */
+	unsigned long root_cluster;  /* first cluster of the root directory */
+	unsigned long fsinfo_sector; /* FAT32 fsinfo offset from start of disk */
+	struct semaphore fat_lock;
+	int prev_free;               /* previously returned free cluster number */
+	int free_clusters;           /* -1 if undefined */
+	struct fat_mount_options options;
+	struct nls_table *nls_disk;  /* Codepage used on disk */
+	struct nls_table *nls_io;    /* Charset used for input and display */
+	struct inode_operations *dir_ops;/* Default directory operations */
+	int dir_per_block;	     /* dir entries per block */
+	int dir_per_block_bits;	     /* log2(dir_per_block) */
+};
+
+/*
+ * MS-DOS file system inode data in memory
+ */
+
+struct msdos_inode_info {
+	loff_t mmu_private;
+	int i_start;	/* first cluster or 0 */
+	int i_logstart;	/* logical first cluster */
+	int i_attrs;	/* unused attribute bits */
+	int i_ctime_ms;	/* unused change time in milliseconds */
+	int i_location;	/* on-disk position of directory entry or 0 */
+	struct list_head i_fat_hash;	/* hash by i_location */
+	struct inode vfs_inode;
+};
 
 struct fat_cache {
 	struct super_block *sb; /* fs in question.  NULL means unused */
@@ -209,6 +259,16 @@ struct fat_cache {
 	struct fat_cache *next; /* next cache entry */
 };
 
+static inline struct msdos_sb_info *MSDOS_SB(struct super_block *sb)
+{
+	return sb->s_fs_info;
+}
+
+static inline struct msdos_inode_info *MSDOS_I(struct inode *inode)
+{
+	return container_of(inode, struct msdos_inode_info, vfs_inode);
+}
+
 static inline void fat16_towchar(wchar_t *dst, const __u8 *src, size_t len)
 {
 #ifdef __BIG_ENDIAN
include/linux/msdos_fs_i.h deleted +0 -21
@@ -1,21 +0,0 @@
-#ifndef _MSDOS_FS_I
-#define _MSDOS_FS_I
-
-#include <linux/fs.h>
-
-/*
- * MS-DOS file system inode data in memory
- */
-
-struct msdos_inode_info {
-	loff_t mmu_private;
-	int i_start;	/* first cluster or 0 */
-	int i_logstart;	/* logical first cluster */
-	int i_attrs;	/* unused attribute bits */
-	int i_ctime_ms;	/* unused change time in milliseconds */
-	int i_location;	/* on-disk position of directory entry or 0 */
-	struct list_head i_fat_hash;	/* hash by i_location */
-	struct inode vfs_inode;
-};
-
-#endif
include/linux/msdos_fs_sb.h deleted +0 -52

52 lines not on this page · raw message

include/linux/umsdos_fs_i.h renamed from include/linux/umsdos_fs_i.h~fat_header_cleanup +1 -1
@@ -5,7 +5,7 @@
 #include <linux/types.h>
 #endif
 
-#include <linux/msdos_fs_i.h>
+/*#include <linux/msdos_fs_i.h>*/
 #include <linux/pipe_fs_i.h>
 
 /* #Specification: strategy / in memory inode

.

Signature · 1 line
OGAWA Hirofumi <[email protected]>