00001 00012 #ifndef MOUNTDATA_H 00013 #define MOUNTDATA_H 00014 00015 #include <linux/list.h> 00016 #include <linux/rwsem.h> 00017 #include <linux/kernel.h> 00018 #include <linux/mount.h> 00019 #include <asm/atomic.h> 00020 #include <linux/fs.h> 00021 00022 00023 00024 #ifdef DEBUG 00025 00028 enum mumufs_operation 00029 { 00030 MUMU_READ = 0x00000001, 00031 MUMU_WRITE = 0x00000002 00032 }; 00033 #endif 00034 00036 #define DEFAULTMAXBLOCKSIZE (32 * 1024) 00037 00039 #define DEFAULTMAXENTRIES (64 * 1024) 00040 00041 00042 00046 struct mumu_mount_data 00047 { 00048 struct vfsmount * mount; 00049 unsigned int max_block_size; 00050 unsigned int max_entries; 00051 atomic_t number_of_entries; 00052 struct proc_dir_entry * parent; 00054 #ifdef DEBUG 00055 mumufs_operation last_op; 00056 size_t last_bytes; 00057 loff_t last_offset; 00058 #endif 00059 }; 00060 00061 00062 00069 int mumufs_parse_opt( char * opt, 00070 struct mumu_mount_data * d ); 00071 00078 int mumufs_show_options( struct seq_file * m, 00079 struct vfsmount * mnt ); 00080 00086 int mumufs_init_mount_data( struct mumu_mount_data * d ); 00087 00093 int mumufs_umount_cleanup( struct super_block * sb ); 00094 00095 #endif 00096