diff options
-rw-r--r-- | util-linux/fsck_minix.c | 32 | ||||
-rw-r--r-- | util-linux/mkfs_minix.c | 26 |
2 files changed, 40 insertions, 18 deletions
diff --git a/util-linux/fsck_minix.c b/util-linux/fsck_minix.c index 4c486d08e..1ed5472b0 100644 --- a/util-linux/fsck_minix.c +++ b/util-linux/fsck_minix.c | |||
@@ -174,22 +174,34 @@ static char *zone_map; | |||
174 | static unsigned char *inode_count; | 174 | static unsigned char *inode_count; |
175 | static unsigned char *zone_count; | 175 | static unsigned char *zone_count; |
176 | 176 | ||
177 | static int bit(const char *a, unsigned i) | 177 | /* Before you ask "where they come from?": */ |
178 | /* setbit/clrbit are supplied by sys/param.h */ | ||
179 | |||
180 | static int minix_bit(const char *a, unsigned i) | ||
178 | { | 181 | { |
179 | return (a[i >> 3] & (1<<(i & 7))); | 182 | return (a[i >> 3] & (1<<(i & 7))); |
180 | } | 183 | } |
181 | 184 | ||
182 | /* setbit/clrbit are supplied by sys/param.h */ | 185 | static void minix_setbit(char *a, unsigned i) |
186 | { | ||
187 | setbit(a, i); | ||
188 | changed = 1; | ||
189 | } | ||
190 | static void minix_clrbit(char *a, unsigned i) | ||
191 | { | ||
192 | clrbit(a, i); | ||
193 | changed = 1; | ||
194 | } | ||
183 | 195 | ||
184 | /* Note: do not assume 0/1, it is 0/nonzero */ | 196 | /* Note: do not assume 0/1, it is 0/nonzero */ |
185 | #define zone_in_use(x) (bit(zone_map,(x)-FIRSTZONE+1)) | 197 | #define zone_in_use(x) (minix_bit(zone_map,(x)-FIRSTZONE+1)) |
186 | #define inode_in_use(x) (bit(inode_map,(x))) | 198 | #define inode_in_use(x) (minix_bit(inode_map,(x))) |
187 | 199 | ||
188 | #define mark_inode(x) (setbit(inode_map,(x)),changed=1) | 200 | #define mark_inode(x) (minix_setbit(inode_map,(x))) |
189 | #define unmark_inode(x) (clrbit(inode_map,(x)),changed=1) | 201 | #define unmark_inode(x) (minix_clrbit(inode_map,(x))) |
190 | 202 | ||
191 | #define mark_zone(x) (setbit(zone_map,(x)-FIRSTZONE+1),changed=1) | 203 | #define mark_zone(x) (minix_setbit(zone_map,(x)-FIRSTZONE+1)) |
192 | #define unmark_zone(x) (clrbit(zone_map,(x)-FIRSTZONE+1),changed=1) | 204 | #define unmark_zone(x) (minix_clrbit(zone_map,(x)-FIRSTZONE+1)) |
193 | 205 | ||
194 | 206 | ||
195 | static void recursive_check(unsigned ino); | 207 | static void recursive_check(unsigned ino); |
@@ -655,8 +667,8 @@ static struct minix1_inode *get_inode(unsigned nr) | |||
655 | if (repair) { | 667 | if (repair) { |
656 | if (ask("Mark as 'in use'", 1)) | 668 | if (ask("Mark as 'in use'", 1)) |
657 | mark_inode(nr); | 669 | mark_inode(nr); |
658 | } else { | 670 | else |
659 | errors_uncorrected = 1; | 671 | errors_uncorrected = 1; |
660 | } | 672 | } |
661 | } | 673 | } |
662 | if (S_ISDIR(inode->i_mode)) | 674 | if (S_ISDIR(inode->i_mode)) |
diff --git a/util-linux/mkfs_minix.c b/util-linux/mkfs_minix.c index e214d288a..59a9e1715 100644 --- a/util-linux/mkfs_minix.c +++ b/util-linux/mkfs_minix.c | |||
@@ -142,21 +142,31 @@ static ATTRIBUTE_ALWAYS_INLINE unsigned div_roundup(unsigned size, unsigned n) | |||
142 | #define INODE_BUFFER_SIZE (INODE_BLOCKS * BLOCK_SIZE) | 142 | #define INODE_BUFFER_SIZE (INODE_BLOCKS * BLOCK_SIZE) |
143 | #define NORM_FIRSTZONE (2 + SB_IMAPS + SB_ZMAPS + INODE_BLOCKS) | 143 | #define NORM_FIRSTZONE (2 + SB_IMAPS + SB_ZMAPS + INODE_BLOCKS) |
144 | 144 | ||
145 | static int bit(const char* a, unsigned i) | 145 | /* Before you ask "where they come from?": */ |
146 | /* setbit/clrbit are supplied by sys/param.h */ | ||
147 | |||
148 | static int minix_bit(const char* a, unsigned i) | ||
146 | { | 149 | { |
147 | return a[i >> 3] & (1<<(i & 7)); | 150 | return a[i >> 3] & (1<<(i & 7)); |
148 | } | 151 | } |
149 | 152 | ||
150 | /* setbit/clrbit are supplied by sys/param.h */ | 153 | static void minix_setbit(char *a, unsigned i) |
154 | { | ||
155 | setbit(a, i); | ||
156 | } | ||
157 | static void minix_clrbit(char *a, unsigned i) | ||
158 | { | ||
159 | clrbit(a, i); | ||
160 | } | ||
151 | 161 | ||
152 | /* Note: do not assume 0/1, it is 0/nonzero */ | 162 | /* Note: do not assume 0/1, it is 0/nonzero */ |
153 | #define zone_in_use(x) bit(zone_map,(x)-SB_FIRSTZONE+1) | 163 | #define zone_in_use(x) minix_bit(zone_map,(x)-SB_FIRSTZONE+1) |
154 | /*#define inode_in_use(x) bit(inode_map,(x))*/ | 164 | /*#define inode_in_use(x) minix_bit(inode_map,(x))*/ |
155 | 165 | ||
156 | #define mark_inode(x) setbit(inode_map,(x)) | 166 | #define mark_inode(x) minix_setbit(inode_map,(x)) |
157 | #define unmark_inode(x) clrbit(inode_map,(x)) | 167 | #define unmark_inode(x) minix_clrbit(inode_map,(x)) |
158 | #define mark_zone(x) setbit(zone_map,(x)-SB_FIRSTZONE+1) | 168 | #define mark_zone(x) minix_setbit(zone_map,(x)-SB_FIRSTZONE+1) |
159 | #define unmark_zone(x) clrbit(zone_map,(x)-SB_FIRSTZONE+1) | 169 | #define unmark_zone(x) minix_clrbit(zone_map,(x)-SB_FIRSTZONE+1) |
160 | 170 | ||
161 | #ifndef BLKGETSIZE | 171 | #ifndef BLKGETSIZE |
162 | # define BLKGETSIZE _IO(0x12,96) /* return device size */ | 172 | # define BLKGETSIZE _IO(0x12,96) /* return device size */ |