diff options
Diffstat (limited to 'include/linux/ext2_fs.h')
-rw-r--r-- | include/linux/ext2_fs.h | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/include/linux/ext2_fs.h b/include/linux/ext2_fs.h index 75dd714b..7457e85b 100644 --- a/include/linux/ext2_fs.h +++ b/include/linux/ext2_fs.h @@ -42,7 +42,6 @@ /* * Debug code */ -#if 0 #ifdef EXT2FS_DEBUG # define ext2_debug(f, a...) { \ printk ("EXT2-fs DEBUG (%s, %d): %s:", \ @@ -52,7 +51,6 @@ #else # define ext2_debug(f, a...) /**/ #endif -#endif /* * Special inodes numbers @@ -218,13 +216,13 @@ struct ext2_group_desc */ struct ext2_inode { __u16 i_mode; /* File mode */ - __u16 i_uid; /* Owner Uid */ + __u16 i_uid; /* Low 16 bits of Owner Uid */ __u32 i_size; /* Size in bytes */ __u32 i_atime; /* Access time */ __u32 i_ctime; /* Creation time */ __u32 i_mtime; /* Modification time */ __u32 i_dtime; /* Deletion Time */ - __u16 i_gid; /* Group Id */ + __u16 i_gid; /* Low 16 bits of Group Id */ __u16 i_links_count; /* Links count */ __u32 i_blocks; /* Blocks count */ __u32 i_flags; /* File flags */ @@ -240,7 +238,7 @@ struct ext2_inode { } masix1; } osd1; /* OS dependent 1 */ __u32 i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ - __u32 i_version; /* File version (for NFS) */ + __u32 i_generation; /* File version (for NFS) */ __u32 i_file_acl; /* File ACL */ __u32 i_dir_acl; /* Directory ACL */ __u32 i_faddr; /* Fragment address */ @@ -249,7 +247,9 @@ struct ext2_inode { __u8 l_i_frag; /* Fragment number */ __u8 l_i_fsize; /* Fragment size */ __u16 i_pad1; - __u32 l_i_reserved2[2]; + __u16 l_i_uid_high; /* these 2 fields */ + __u16 l_i_gid_high; /* were reserved2[0] */ + __u32 l_i_reserved2; } linux2; struct { __u8 h_i_frag; /* Fragment number */ @@ -274,9 +274,14 @@ struct ext2_inode { #define i_reserved1 osd1.linux1.l_i_reserved1 #define i_frag osd2.linux2.l_i_frag #define i_fsize osd2.linux2.l_i_fsize +#define i_uid_low i_uid +#define i_gid_low i_gid +#define i_uid_high osd2.linux2.l_i_uid_high +#define i_gid_high osd2.linux2.l_i_gid_high #define i_reserved2 osd2.linux2.l_i_reserved2 #elif defined(__GNU__) + #define i_translator osd1.hurd1.h_i_translator #define i_frag osd2.hurd2.h_i_frag; #define i_fsize osd2.hurd2.h_i_fsize; @@ -284,12 +289,14 @@ struct ext2_inode { #define i_gid_high osd2.hurd2.h_i_gid_high #define i_author osd2.hurd2.h_i_author -#elif defined (__masix__) +#elif defined(__masix__) + #define i_reserved1 osd1.masix1.m_i_reserved1 #define i_frag osd2.masix2.m_i_frag #define i_fsize osd2.masix2.m_i_fsize #define i_reserved2 osd2.masix2.m_i_reserved2 -#endif /* defined(__KERNEL__) || defined(__linux__) */ + +#endif /* defined(__KERNEL) || defined(__linux__) */ /* * File system states @@ -300,16 +307,14 @@ struct ext2_inode { /* * Mount flags */ -#define EXT2_MOUNT_CHECK_NORMAL 0x0001 /* Do some more checks */ -#define EXT2_MOUNT_CHECK_STRICT 0x0002 /* Do again more checks */ -#define EXT2_MOUNT_CHECK (EXT2_MOUNT_CHECK_NORMAL | \ - EXT2_MOUNT_CHECK_STRICT) +#define EXT2_MOUNT_CHECK 0x0001 /* Do mount-time checks */ #define EXT2_MOUNT_GRPID 0x0004 /* Create files with directory's group */ #define EXT2_MOUNT_DEBUG 0x0008 /* Some debugging messages */ #define EXT2_MOUNT_ERRORS_CONT 0x0010 /* Continue on errors */ #define EXT2_MOUNT_ERRORS_RO 0x0020 /* Remount fs ro on errors */ #define EXT2_MOUNT_ERRORS_PANIC 0x0040 /* Panic on errors */ #define EXT2_MOUNT_MINIX_DF 0x0080 /* Mimics the Minix statfs */ +#define EXT2_MOUNT_NO_UID32 0x0200 /* Disable 32-bit UIDs */ #define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt #define set_opt(o, opt) o |= EXT2_MOUNT_##opt @@ -520,12 +525,16 @@ struct ext2_dir_entry_2 { extern int ext2_permission (struct inode *, int); /* balloc.c */ +extern int ext2_group_sparse(int group); extern int ext2_new_block (const struct inode *, unsigned long, __u32 *, __u32 *, int *); extern void ext2_free_blocks (const struct inode *, unsigned long, unsigned long); extern unsigned long ext2_count_free_blocks (struct super_block *); extern void ext2_check_blocks_bitmap (struct super_block *); +extern struct ext2_group_desc * ext2_get_group_desc(struct super_block * sb, + unsigned int block_group, + struct buffer_head ** bh); /* bitmap.c */ extern unsigned long ext2_count_free (struct buffer_head *, unsigned); @@ -549,9 +558,11 @@ extern unsigned long ext2_count_free_inodes (struct super_block *); extern void ext2_check_inodes_bitmap (struct super_block *); /* inode.c */ -extern int ext2_bmap (struct inode *, int); +extern long ext2_bmap (struct inode *, long); +extern int ext2_get_block (struct inode *, long, struct buffer_head *, int); extern struct buffer_head * ext2_getblk (struct inode *, long, int, int *); +extern int ext2_getblk_block (struct inode *, long, int, int *, int *); extern struct buffer_head * ext2_bread (struct inode *, int, int, int *); extern int ext2_getcluster (struct inode * inode, long block); @@ -568,7 +579,7 @@ extern int ext2_ioctl (struct inode *, struct file *, unsigned int, /* namei.c */ extern void ext2_release (struct inode *, struct file *); -extern int ext2_lookup (struct inode *, struct dentry *); +extern struct dentry *ext2_lookup (struct inode *, struct dentry *); extern int ext2_create (struct inode *,struct dentry *,int); extern int ext2_mkdir (struct inode *,struct dentry *,int); extern int ext2_rmdir (struct inode *,struct dentry *); @@ -591,7 +602,6 @@ extern void ext2_put_super (struct super_block *); extern void ext2_write_super (struct super_block *); extern int ext2_remount (struct super_block *, int *, char *); extern struct super_block * ext2_read_super (struct super_block *,void *,int); -extern int init_ext2_fs(void); extern int ext2_statfs (struct super_block *, struct statfs *, int); /* truncate.c */ @@ -609,6 +619,7 @@ extern struct inode_operations ext2_file_inode_operations; /* symlink.c */ extern struct inode_operations ext2_symlink_inode_operations; +extern struct inode_operations ext2_fast_symlink_inode_operations; #endif /* __KERNEL__ */ |