aboutsummaryrefslogtreecommitdiff
path: root/mkfs_minix.c
diff options
context:
space:
mode:
Diffstat (limited to 'mkfs_minix.c')
-rw-r--r--mkfs_minix.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/mkfs_minix.c b/mkfs_minix.c
index dec310d30..240dfded0 100644
--- a/mkfs_minix.c
+++ b/mkfs_minix.c
@@ -175,10 +175,6 @@ struct minix_dir_entry {
175#endif 175#endif
176 176
177 177
178#ifdef MINIX2_SUPER_MAGIC2
179#define HAVE_MINIX2 1
180#endif
181
182#ifndef __linux__ 178#ifndef __linux__
183#define volatile 179#define volatile
184#endif 180#endif
@@ -191,7 +187,7 @@ struct minix_dir_entry {
191 187
192#define UPPER(size,n) (((size)+((n)-1))/(n)) 188#define UPPER(size,n) (((size)+((n)-1))/(n))
193#define INODE_SIZE (sizeof(struct minix_inode)) 189#define INODE_SIZE (sizeof(struct minix_inode))
194#ifdef HAVE_MINIX2 190#ifdef BB_FEATURE_MINIX2
195#define INODE_SIZE2 (sizeof(struct minix2_inode)) 191#define INODE_SIZE2 (sizeof(struct minix2_inode))
196#define INODE_BLOCKS UPPER(INODES, (version2 ? MINIX2_INODES_PER_BLOCK \ 192#define INODE_BLOCKS UPPER(INODES, (version2 ? MINIX2_INODES_PER_BLOCK \
197 : MINIX_INODES_PER_BLOCK)) 193 : MINIX_INODES_PER_BLOCK))
@@ -219,7 +215,7 @@ static char root_block[BLOCK_SIZE] = "\0";
219static char *inode_buffer = NULL; 215static char *inode_buffer = NULL;
220 216
221#define Inode (((struct minix_inode *) inode_buffer)-1) 217#define Inode (((struct minix_inode *) inode_buffer)-1)
222#ifdef HAVE_MINIX2 218#ifdef BB_FEATURE_MINIX2
223#define Inode2 (((struct minix2_inode *) inode_buffer)-1) 219#define Inode2 (((struct minix2_inode *) inode_buffer)-1)
224#endif 220#endif
225static char super_block_buffer[BLOCK_SIZE]; 221static char super_block_buffer[BLOCK_SIZE];
@@ -227,7 +223,7 @@ static char boot_block_buffer[512];
227 223
228#define Super (*(struct minix_super_block *)super_block_buffer) 224#define Super (*(struct minix_super_block *)super_block_buffer)
229#define INODES ((unsigned long)Super.s_ninodes) 225#define INODES ((unsigned long)Super.s_ninodes)
230#ifdef HAVE_MINIX2 226#ifdef BB_FEATURE_MINIX2
231#define ZONES ((unsigned long)(version2 ? Super.s_zones : Super.s_nzones)) 227#define ZONES ((unsigned long)(version2 ? Super.s_zones : Super.s_nzones))
232#else 228#else
233#define ZONES ((unsigned long)(Super.s_nzones)) 229#define ZONES ((unsigned long)(Super.s_nzones))
@@ -463,7 +459,7 @@ static void make_bad_inode(void)
463 write_block(dind, (char *) dind_block); 459 write_block(dind, (char *) dind_block);
464} 460}
465 461
466#ifdef HAVE_MINIX2 462#ifdef BB_FEATURE_MINIX2
467static void make_bad_inode2(void) 463static void make_bad_inode2(void)
468{ 464{
469 struct minix2_inode *inode = &Inode2[MINIX_BAD_INO]; 465 struct minix2_inode *inode = &Inode2[MINIX_BAD_INO];
@@ -536,7 +532,7 @@ static void make_root_inode(void)
536 write_block(inode->i_zone[0], root_block); 532 write_block(inode->i_zone[0], root_block);
537} 533}
538 534
539#ifdef HAVE_MINIX2 535#ifdef BB_FEATURE_MINIX2
540static void make_root_inode2(void) 536static void make_root_inode2(void)
541{ 537{
542 struct minix2_inode *inode = &Inode2[MINIX_ROOT_INO]; 538 struct minix2_inode *inode = &Inode2[MINIX_ROOT_INO];
@@ -577,7 +573,7 @@ static void setup_tables(void)
577 else 573 else
578 inodes = req_nr_inodes; 574 inodes = req_nr_inodes;
579 /* Round up inode count to fill block size */ 575 /* Round up inode count to fill block size */
580#ifdef HAVE_MINIX2 576#ifdef BB_FEATURE_MINIX2
581 if (version2) 577 if (version2)
582 inodes = ((inodes + MINIX2_INODES_PER_BLOCK - 1) & 578 inodes = ((inodes + MINIX2_INODES_PER_BLOCK - 1) &
583 ~(MINIX2_INODES_PER_BLOCK - 1)); 579 ~(MINIX2_INODES_PER_BLOCK - 1));
@@ -729,7 +725,7 @@ extern int mkfs_minix_main(int argc, char **argv)
729 725
730 if (INODE_SIZE * MINIX_INODES_PER_BLOCK != BLOCK_SIZE) 726 if (INODE_SIZE * MINIX_INODES_PER_BLOCK != BLOCK_SIZE)
731 die("bad inode size"); 727 die("bad inode size");
732#ifdef HAVE_MINIX2 728#ifdef BB_FEATURE_MINIX2
733 if (INODE_SIZE2 * MINIX2_INODES_PER_BLOCK != BLOCK_SIZE) 729 if (INODE_SIZE2 * MINIX2_INODES_PER_BLOCK != BLOCK_SIZE)
734 die("bad inode size"); 730 die("bad inode size");
735#endif 731#endif
@@ -794,7 +790,7 @@ extern int mkfs_minix_main(int argc, char **argv)
794 break; 790 break;
795 } 791 }
796 case 'v': 792 case 'v':
797#ifdef HAVE_MINIX2 793#ifdef BB_FEATURE_MINIX2
798 version2 = 1; 794 version2 = 1;
799#else 795#else
800 errorMsg("%s: not compiled with minix v2 support\n", 796 errorMsg("%s: not compiled with minix v2 support\n",
@@ -826,7 +822,7 @@ goodbye:
826 if (!device_name || BLOCKS < 10) { 822 if (!device_name || BLOCKS < 10) {
827 show_usage(); 823 show_usage();
828 } 824 }
829#ifdef HAVE_MINIX2 825#ifdef BB_FEATURE_MINIX2
830 if (version2) { 826 if (version2) {
831 if (namelen == 14) 827 if (namelen == 14)
832 magic = MINIX2_SUPER_MAGIC; 828 magic = MINIX2_SUPER_MAGIC;
@@ -860,7 +856,7 @@ goodbye:
860 check_blocks(); 856 check_blocks();
861 else if (listfile) 857 else if (listfile)
862 get_list_blocks(listfile); 858 get_list_blocks(listfile);
863#ifdef HAVE_MINIX2 859#ifdef BB_FEATURE_MINIX2
864 if (version2) { 860 if (version2) {
865 make_root_inode2(); 861 make_root_inode2();
866 make_bad_inode2(); 862 make_bad_inode2();