From owner-p4-projects@FreeBSD.ORG Fri Jun 5 22:06:36 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6CB1B1065675; Fri, 5 Jun 2009 22:06:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2BE41106566B for ; Fri, 5 Jun 2009 22:06:36 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 190A08FC1B for ; Fri, 5 Jun 2009 22:06:36 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n55M6aZB076169 for ; Fri, 5 Jun 2009 22:06:36 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n55M6ZcX076167 for perforce@freebsd.org; Fri, 5 Jun 2009 22:06:35 GMT (envelope-from truncs@FreeBSD.org) Date: Fri, 5 Jun 2009 22:06:35 GMT Message-Id: <200906052206.n55M6ZcX076167@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 163613 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Jun 2009 22:06:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=163613 Change 163613 by truncs@aditya on 2009/06/05 22:06:31 - Fixed typos - Removed ext2_fs_sb.h, it is not needed - Fixed other bugs related to the new in-memory structure Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/COPYRIGHT.INFO#5 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#4 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_balloc.c#3 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_bitops.h#3 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_bmap.c#3 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_extern.h#3 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#7 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_inode.c#3 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_inode_cnv.c#4 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_balloc.c#4 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_ialloc.c#4 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_lookup.c#4 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_mount.h#4 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_readwrite.c#4 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_subr.c#4 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#5 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_vnops.c#7 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/fs.h#4 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/i386-bitops.h#3 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/inode.h#4 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/COPYRIGHT.INFO#5 (text+ko) ==== ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#4 (text+ko) ==== @@ -47,7 +47,6 @@ #include #include #include -#include #include #include ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_balloc.c#3 (text+ko) ==== @@ -46,7 +46,6 @@ #include #include -#include #include #include ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_bitops.h#3 (text+ko) ==== ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_bmap.c#3 (text+ko) ==== @@ -47,7 +47,6 @@ #include #include -#include #include #include ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_extern.h#3 (text+ko) ==== ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#7 (text+ko) ==== @@ -52,14 +52,12 @@ #define umode_t mode_t #define loff_t off_t ->>>> ORIGINAL //depot/vendor/freebsd/src/sys/gnu/fs/ext2fs/ext2_fs.h#3 -==== THEIRS //depot/vendor/freebsd/src/sys/gnu/fs/ext2fs/ext2_fs.h#4 #define cpu_to_le32(x) htole32(x) -==== YOURS //aditya/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h + #define MAXMNTLEN 512 #define EXT2_MAX_GROUP_LOADED 8 -<<<< +#define buffer_head buf /* * The second extended filesystem constants/structures */ @@ -141,21 +139,21 @@ #define EXT2_MAX_BLOCK_SIZE 4096 #define EXT2_MIN_BLOCK_LOG_SIZE 10 #if defined(__KERNEL__) || defined(_KERNEL) -# define EXT2_BLOCK_SIZE(s) ((s)->s_blocksize) +# define EXT2_BLOCK_SIZE(s) ((s)->e2fs_bsize) #else # define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size) #endif #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32)) #if defined(__KERNEL__) || defined(_KERNEL) -# define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_blocksize_bits) +# define EXT2_BLOCK_SIZE_BITS(s) ((s)->e2fs_blocksize_bits) #else # define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) #endif #if defined(__KERNEL__) || defined(_KERNEL) #define EXT2_ADDR_PER_BLOCK_BITS(s) (EXT2_SB(s)->s_addr_per_block_bits) -#define EXT2_INODE_SIZE(s) (EXT2_SB(s)->s_inode_size) -#define EXT2_FIRST_INO(s) (EXT2_SB(s)->s_first_ino) -#define EXT2_INODES_PER_BLOCK(s) ((s)->s_inodes_per_block) +#define EXT2_INODE_SIZE(s) (EXT2_SB(s)->e2fs_isize) +#define EXT2_FIRST_INO(s) (EXT2_SB(s)->e2fs_first_inode) +#define EXT2_INODES_PER_BLOCK(s) ((s)->e2fs_ipb) #else #define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ EXT2_GOOD_OLD_INODE_SIZE : \ @@ -172,8 +170,8 @@ #define EXT2_MAX_FRAG_SIZE 4096 #define EXT2_MIN_FRAG_LOG_SIZE 10 #if defined(__KERNEL__) || defined(_KERNEL) -# define EXT2_FRAG_SIZE(s) (EXT2_SB(s)->s_frag_size) -# define EXT2_FRAGS_PER_BLOCK(s) (EXT2_SB(s)->s_frags_per_block) +# define EXT2_FRAG_SIZE(s) (EXT2_SB(s)->e2fs_fsize) +# define EXT2_FRAGS_PER_BLOCK(s) (EXT2_SB(s)->e2fs_fpb) #else # define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size) # define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s)) @@ -220,14 +218,14 @@ * Macro-instructions used to manage group descriptors */ #if defined(__KERNEL__) || defined(_KERNEL) -# define EXT2_BLOCKS_PER_GROUP(s) (EXT2_SB(s)->s_blocks_per_group) -# define EXT2_DESC_PER_BLOCK(s) (EXT2_SB(s)->s_desc_per_block) -# define EXT2_INODES_PER_GROUP(s) (EXT2_SB(s)->s_inodes_per_group) +# define EXT2_BLOCKS_PER_GROUP(s) (EXT2_SB(s)->e2fs_bpg) +# define EXT2_DESC_PER_BLOCK(s) (EXT2_SB(s)->e2fs_descpb) +# define EXT2_INODES_PER_GROUP(s) (EXT2_SB(s)->e2fs_ipg) # define EXT2_DESC_PER_BLOCK_BITS(s) (EXT2_SB(s)->s_desc_per_block_bits) #else -# define EXT2_BLOCKS_PER_GROUP(s) ((s)->s_blocks_per_group) +# define EXT2_BLOCKS_PER_GROUP(s) ((s)->e2fs_bpg) # define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc)) -# define EXT2_INODES_PER_GROUP(s) ((s)->s_inodes_per_group) +# define EXT2_INODES_PER_GROUP(s) ((s)->s_ipg) #endif /* @@ -373,7 +371,7 @@ #define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt #define set_opt(o, opt) o |= EXT2_MOUNT_##opt -#define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt & \ +#define test_opt(sb, opt) (EXT2_SB(sb)->e2fs_mount_opt & \ EXT2_MOUNT_##opt) /* * Maximal mount counts between two filesystem checks @@ -451,7 +449,7 @@ __u32 s_reserved[204]; /* Padding to the end of the block */ }; ->>>> ORIGINAL //depot/vendor/freebsd/src/sys/gnu/fs/ext2fs/ext2_fs.h#3 + #ifdef __KERNEL__ #define EXT2_SB(sb) (&((sb)->u.ext2_sb)) #else @@ -461,8 +459,8 @@ #define EXT2_SB(sb) (sb) #endif -==== THEIRS //depot/vendor/freebsd/src/sys/gnu/fs/ext2fs/ext2_fs.h#4 -==== YOURS //aditya/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h + + /* * In-Memory Superblock */ @@ -478,8 +476,8 @@ uint32_t e2fs_bshift; /* calc of logical block no */ int32_t e2fs_bmask; /* calc of block offset */ int32_t e2fs_bpg; /* Number of blocks per group */ - int64_t e2fs_qmask; /* = s_blocksize -1 */ - uint32_t e2fs_fstodb; /* Shift to get disk block */ + int64_t e2fs_qbmask; /* = s_blocksize -1 */ + uint32_t e2fs_fsbtodb; /* Shift to get disk block */ uint32_t e2fs_ipg; /* Number of inodes per group */ uint32_t e2fs_ipb; /* Number of inodes per block */ uint32_t e2fs_itpg; /* Number of inode table per group */ @@ -501,7 +499,7 @@ uint32_t e2fs_mount_opt; uint32_t e2fs_blocksize_bits; char e2fs_wasvalid; /* valid at mount time */ - off_t maxfilesize; + off_t e2fs_maxfilesize; }; @@ -514,7 +512,7 @@ #define EXT2_SB(sb) (sb) #endif -<<<< + /* * Codes for operating systems */ @@ -540,11 +538,11 @@ */ #define EXT2_HAS_COMPAT_FEATURE(sb,mask) \ - ( EXT2_SB(sb)->s_es->s_feature_compat & cpu_to_le32(mask) ) + ( EXT2_SB(sb)->e2fs->s_feature_compat & cpu_to_le32(mask) ) #define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask) \ - ( EXT2_SB(sb)->s_es->s_feature_ro_compat & cpu_to_le32(mask) ) + ( EXT2_SB(sb)->e2fs->s_feature_ro_compat & cpu_to_le32(mask) ) #define EXT2_HAS_INCOMPAT_FEATURE(sb,mask) \ - ( EXT2_SB(sb)->s_es->s_feature_incompat & cpu_to_le32(mask) ) + ( EXT2_SB(sb)->e2fs->s_feature_incompat & cpu_to_le32(mask) ) #define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001 ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_inode.c#3 (text+ko) ==== @@ -50,7 +50,6 @@ #include #include #include -#include #include #include @@ -264,7 +263,7 @@ blocksreleased += count; if (lastiblock[level] < 0) { oip->i_ib[level] = 0; - ext2_blkfree(oip, bn, fs->s_frag_size); + ext2_blkfree(oip, bn, fs->e2fs_fsize); blocksreleased += nblocks; } } ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_inode_cnv.c#4 (text+ko) ==== ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_balloc.c#4 (text+ko) ==== @@ -53,7 +53,6 @@ #include #include #include -#include #include #ifdef __i386__ @@ -111,7 +110,7 @@ if (block_group >= sb->e2fs_gcount) panic ( "load_block_bitmap: " "block_group >= groups_count - " - "block_group = %d, groups_count = %lu", + "block_group = %d, groups_count = %d", block_group, sb->e2fs_gcount); if (sb->e2fs_gcount <= EXT2_MAX_GROUP_LOADED) { @@ -222,9 +221,9 @@ (in_range (gdp->bg_block_bitmap, block, count) || in_range (gdp->bg_inode_bitmap, block, count) || in_range (block, gdp->bg_inode_table, - sb->s_itb_per_group) || + sb->e2fs_itpg) || in_range (block + count - 1, gdp->bg_inode_table, - sb->s_itb_per_group))) + sb->e2fs_itpg))) panic ( "ext2_free_blocks: " "Freeing blocks in system zones - " "Block = %lu, count = %lu", @@ -406,7 +405,7 @@ if (/* test_opt (sb, CHECK_STRICT) && we are always strict. */ (tmp == gdp->bg_block_bitmap || tmp == gdp->bg_inode_bitmap || - in_range (tmp, gdp->bg_inode_table, sb->s_itb_per_group))) + in_range (tmp, gdp->bg_inode_table, sb->e2fs_itpg))) panic ( "ext2_new_block: " "Allocating block in system zone - " "%dth block = %u in group %u", j, tmp, i); ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_ialloc.c#4 (text+ko) ==== @@ -54,7 +54,6 @@ #include #include #include -#include #include #include @@ -87,7 +86,7 @@ if (block_group >= sb->e2fs_gcount) panic ("get_group_desc: " "block_group >= groups_count - " - "block_group = %d, groups_count = %lu", + "block_group = %d, groups_count = %d", block_group, sb->e2fs_gcount); group_desc = block_group / EXT2_DESC_PER_BLOCK(sb); @@ -149,7 +148,7 @@ if (block_group >= sb->e2fs_gcount) panic ("load_inode_bitmap:" "block_group >= groups_count - " - "block_group = %d, groups_count = %lu", + "block_group = %d, groups_count = %d", block_group, sb->e2fs_gcount); if (sb->e2fs_lib > 0 && sb->e2fs_ibn[0] == block_group) ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_lookup.c#4 (text+ko) ==== @@ -59,7 +59,6 @@ #include #include #include -#include #ifdef DIAGNOSTIC static int dirchk = 1; @@ -150,7 +149,7 @@ struct uio auio; struct iovec aiov; caddr_t dirbuf; - int DIRBLKSIZ = VTOI(ap->a_vp)->i_e2fs->s_blocksize; + int DIRBLKSIZ = VTOI(ap->a_vp)->i_e2fs->e2fs_bsize; int readcnt; off_t startoffset = uio->uio_offset; @@ -321,7 +320,7 @@ int nameiop = cnp->cn_nameiop; ino_t saved_ino; - int DIRBLKSIZ = VTOI(ap->a_dvp)->i_e2fs->s_blocksize; + int DIRBLKSIZ = VTOI(ap->a_dvp)->i_e2fs->e2fs_bsize; bp = NULL; slotoffset = -1; @@ -713,7 +712,7 @@ struct ext2_dir_entry_2 *de; int entryoffsetinblock; { - int DIRBLKSIZ = VTOI(dp)->i_e2fs->s_blocksize; + int DIRBLKSIZ = VTOI(dp)->i_e2fs->e2fs_bsize; char * error_msg = NULL; @@ -762,7 +761,7 @@ u_int dsize; int error, loc, newentrysize, spacefree; char *dirbuf; - int DIRBLKSIZ = ip->i_e2fs->s_blocksize; + int DIRBLKSIZ = ip->i_e2fs->e2fs_bsize; #ifdef DIAGNOSTIC ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_mount.h#4 (text+ko) ==== ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_readwrite.c#4 (text+ko) ==== ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_subr.c#4 (text+ko) ==== @@ -48,7 +48,7 @@ #include #include -#include +#include #include #ifdef KDB ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#5 (text+ko) ==== @@ -78,7 +78,6 @@ #include #include -#include #include static int ext2_flushfiles(struct mount *mp, int flags, struct thread *td); @@ -176,7 +175,7 @@ fs->e2fs->s_state |= EXT2_VALID_FS; ext2_sbupdate(ump, MNT_WAIT); } - fs->s_rd_only = 1; + fs->e2fs_ronly = 1; vfs_flagopt(opts, "ro", &mp->mnt_flag, MNT_RDONLY); DROP_GIANT(); g_topology_lock(); @@ -189,7 +188,7 @@ if (error) return (error); devvp = ump->um_devvp; - if (fs->s_rd_only && !vfs_flagopt(opts, "ro", NULL, 0)) { + if (fs->e2fs_ronly && !vfs_flagopt(opts, "ro", NULL, 0)) { if (ext2_check_sb_compat(fs->e2fs, devvp->v_rdev, 0)) return (EPERM); @@ -334,7 +333,7 @@ return (0); } if (gdp->bg_inode_table < block || - gdp->bg_inode_table + sb->s_itb_per_group >= + gdp->bg_inode_table + sb->e2fs_itpg >= block + EXT2_BLOCKS_PER_GROUP(sb)) { printf ("ext2_check_descriptors: " "Inode table for group %d" @@ -388,7 +387,7 @@ fs->e2fs_bsize = EXT2_MIN_BLOCK_SIZE << es->s_log_block_size; fs->e2fs_bshift = EXT2_MIN_BLOCK_LOG_SIZE + es->s_log_block_size; fs->e2fs_fsbtodb = es->s_log_block_size + 1; - fs->e2fs_qbmask = fs->s_blocksize - 1; + fs->e2fs_qbmask = fs->e2fs_bsize - 1; fs->e2fs_blocksize_bits = es->s_log_block_size + 10; fs->e2fs_fsize = EXT2_MIN_FRAG_SIZE << es->s_log_frag_size; if (fs->e2fs_fsize) @@ -415,8 +414,8 @@ } } fs->e2fs_ipb = fs->e2fs_bsize / EXT2_INODE_SIZE(fs); - fs->e2fs_itbg = fs->e2fs_ipg /fs->e2fs_ipb; - fs->e2fs_desc_per_block = fs->e2fs_bsize / sizeof (struct ext2_group_desc); + fs->e2fs_itpg = fs->e2fs_ipg /fs->e2fs_ipb; + fs->e2fs_descpb = fs->e2fs_bsize / sizeof (struct ext2_group_desc); /* s_resuid / s_resgid ? */ fs->e2fs_gcount = (es->s_blocks_count - es->s_first_data_block + EXT2_BLOCKS_PER_GROUP(fs) - 1) / EXT2_BLOCKS_PER_GROUP(fs); ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_vnops.c#7 (text+ko) ==== @@ -76,7 +76,6 @@ #include #include -#include #include #include #include ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/fs.h#4 (text+ko) ==== ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/i386-bitops.h#3 (text+ko) ==== ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/inode.h#4 (text+ko) ====