Messages in this thread Patch in this message | | | Subject | [PATCH] cleanup headers of fat (1/2) | From | OGAWA Hirofumi <> | Date | Sun, 03 Nov 2002 05:02:40 +0900 |
| |
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(-)
--- fat-2.5.45-bk1/include/linux/msdos_fs.h~fat_header_cleanup 2002-11-03 03:40:31.000000000 +0900 +++ fat-2.5.45-bk1-hirofumi/include/linux/msdos_fs.h 2002-11-03 03:40:31.000000000 +0900 @@ -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 --- fat-2.5.45-bk1/include/linux/msdos_fs_i.h +++ /dev/null 2002-07-27 03:36:37.000000000 +0900 @@ -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 --- fat-2.5.45-bk1/include/linux/msdos_fs_sb.h +++ /dev/null 2002-07-27 03:36:37.000000000 +0900 @@ -1,52 +0,0 @@ -#ifndef _MSDOS_FS_SB -#define _MSDOS_FS_SB - -/* - * MS-DOS file system in-core superblock data - */ - -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*/ -}; - -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 */ - void *dir_ops; /* Opaque; default directory operations */ - int dir_per_block; /* dir entries per block */ - int dir_per_block_bits; /* log2(dir_per_block) */ -}; - -#endif --- fat-2.5.45-bk1/include/linux/umsdos_fs_i.h~fat_header_cleanup 2002-11-03 03:40:31.000000000 +0900 +++ fat-2.5.45-bk1-hirofumi/include/linux/umsdos_fs_i.h 2002-11-03 03:40:31.000000000 +0900 @@ -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 .
-- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |