summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBrian Gerst <bgerst@didntduck.org>2002-03-14 23:15:59 -0800
committerLinus Torvalds <torvalds@home.transmeta.com>2002-03-14 23:15:59 -0800
commit2191d229f70f20ce7d1fa25f4cc2cb67071ad7b1 (patch)
treeccc1f458d133aac9676933e8b2865f2db5db149b /include
parentbe5fc736d7470ee9c7d1f6e5cd245c1279404f1e (diff)
[PATCH] struct super_block cleanup - msdos/vfat
Seperates msdos_sb_info from struct super_block for msdos and vfat. Umsdos is terminally broken and is not included.
Diffstat (limited to 'include')
-rw-r--r--include/linux/fs.h2
-rw-r--r--include/linux/msdos_fs.h12
2 files changed, 8 insertions, 6 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index e28fd5ee47be..41eb1e05a41f 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -648,7 +648,6 @@ struct quota_mount_options
#include <linux/ext3_fs_sb.h>
#include <linux/hpfs_fs_sb.h>
#include <linux/ntfs_fs_sb.h>
-#include <linux/msdos_fs_sb.h>
#include <linux/iso_fs_sb.h>
#include <linux/sysv_fs_sb.h>
#include <linux/affs_fs_sb.h>
@@ -700,7 +699,6 @@ struct super_block {
struct ext3_sb_info ext3_sb;
struct hpfs_sb_info hpfs_sb;
struct ntfs_sb_info ntfs_sb;
- struct msdos_sb_info msdos_sb;
struct isofs_sb_info isofs_sb;
struct sysv_sb_info sysv_sb;
struct affs_sb_info affs_sb;
diff --git a/include/linux/msdos_fs.h b/include/linux/msdos_fs.h
index 4851d846d912..022e7a89d98a 100644
--- a/include/linux/msdos_fs.h
+++ b/include/linux/msdos_fs.h
@@ -5,6 +5,7 @@
* The MS-DOS filesystem constants/structures
*/
#include <linux/msdos_fs_i.h>
+#include <linux/msdos_fs_sb.h>
#include <asm/byteorder.h>
@@ -53,7 +54,11 @@
#define MSDOS_VALID_MODE (S_IFREG | S_IFDIR | S_IRWXU | S_IRWXG | S_IRWXO)
/* valid file mode bits */
-#define MSDOS_SB(s) (&((s)->u.msdos_sb))
+static inline struct msdos_sb_info *MSDOS_SB(struct super_block *sb)
+{
+ return sb->u.generic_sbp;
+}
+
static inline struct msdos_inode_info *MSDOS_I(struct inode *inode)
{
return list_entry(inode, struct msdos_inode_info, vfs_inode);
@@ -282,9 +287,8 @@ extern struct inode *fat_build_inode(struct super_block *sb,
extern void fat_delete_inode(struct inode *inode);
extern void fat_clear_inode(struct inode *inode);
extern void fat_put_super(struct super_block *sb);
-extern struct super_block *
-fat_read_super(struct super_block *sb, void *data, int silent,
- struct inode_operations *fs_dir_inode_ops);
+int fat_fill_super(struct super_block *sb, void *data, int silent,
+ struct inode_operations *fs_dir_inode_ops, int isvfat);
extern int fat_statfs(struct super_block *sb, struct statfs *buf);
extern void fat_write_inode(struct inode *inode, int wait);
extern int fat_notify_change(struct dentry * dentry, struct iattr * attr);