summaryrefslogtreecommitdiffstats
path: root/disk-utils/mkfs.minix.c
diff options
context:
space:
mode:
authorDavidlohr Bueso2011-06-03 01:08:46 +0200
committerKarel Zak2011-06-08 13:38:50 +0200
commit37ebb48be0191f2a1c8ac53732a03d01ae85a4c6 (patch)
treeeb861bb67aa3f9c53578e23051be44465cd06aa9 /disk-utils/mkfs.minix.c
parentdocs: update DEPRECATED file (diff)
downloadkernel-qcow2-util-linux-37ebb48be0191f2a1c8ac53732a03d01ae85a4c6.tar.gz
kernel-qcow2-util-linux-37ebb48be0191f2a1c8ac53732a03d01ae85a4c6.tar.xz
kernel-qcow2-util-linux-37ebb48be0191f2a1c8ac53732a03d01ae85a4c6.zip
mkfs.minix: use inode wrappers
Use a common function for creating the root and bad inode, without worring about the fs version. Signed-off-by: Davidlohr Bueso <dave@gnu.org>
Diffstat (limited to 'disk-utils/mkfs.minix.c')
-rw-r--r--disk-utils/mkfs.minix.c32
1 files changed, 21 insertions, 11 deletions
diff --git a/disk-utils/mkfs.minix.c b/disk-utils/mkfs.minix.c
index 3de1d66a0..d2d800f35 100644
--- a/disk-utils/mkfs.minix.c
+++ b/disk-utils/mkfs.minix.c
@@ -217,7 +217,7 @@ static inline int next(int zone) {
return 0;
}
-static void make_bad_inode(void) {
+static void make_bad_inode_v1(void) {
struct minix_inode * inode = &Inode[MINIX_BAD_INO];
int i,j,zone;
int ind=0,dind=0;
@@ -266,7 +266,7 @@ end_bad:
write_block(dind, (char *) dind_block);
}
-static void make_bad_inode2 (void) {
+static void make_bad_inode_v2 (void) {
struct minix2_inode *inode = &Inode2[MINIX_BAD_INO];
int i, j, zone;
int ind = 0, dind = 0;
@@ -314,7 +314,14 @@ static void make_bad_inode2 (void) {
write_block (dind, (char *) dind_block);
}
-static void make_root_inode(void) {
+static void make_bad_inode(void)
+{
+ if (fs_version < 2)
+ return make_bad_inode_v1();
+ return make_bad_inode_v2();
+}
+
+static void make_root_inode_v1(void) {
struct minix_inode * inode = &Inode[MINIX_ROOT_INO];
mark_inode(MINIX_ROOT_INO);
@@ -335,7 +342,7 @@ static void make_root_inode(void) {
write_block(inode->i_zone[0],root_block);
}
-static void make_root_inode2 (void) {
+static void make_root_inode_v2 (void) {
struct minix2_inode *inode = &Inode2[MINIX_ROOT_INO];
mark_inode (MINIX_ROOT_INO);
@@ -356,6 +363,13 @@ static void make_root_inode2 (void) {
write_block (inode->i_zone[0], root_block);
}
+static void make_root_inode(void)
+{
+ if (fs_version < 2)
+ return make_root_inode_v1();
+ return make_root_inode_v2();
+}
+
static void setup_tables(void) {
int i;
unsigned long inodes, zmaps, imaps, zones;
@@ -651,13 +665,9 @@ int main(int argc, char ** argv) {
check_blocks();
else if (listfile)
get_list_blocks(listfile);
- if (fs_version == 2) {
- make_root_inode2 ();
- make_bad_inode2 ();
- } else {
- make_root_inode();
- make_bad_inode();
- }
+
+ make_root_inode();
+ make_bad_inode();
mark_good_blocks();
write_tables();