diff options
Diffstat (limited to 'mkswap.c')
-rw-r--r-- | mkswap.c | 32 |
1 files changed, 16 insertions, 16 deletions
@@ -87,7 +87,7 @@ static void init_signature_page() | |||
87 | 87 | ||
88 | #ifdef PAGE_SIZE | 88 | #ifdef PAGE_SIZE |
89 | if (pagesize != PAGE_SIZE) | 89 | if (pagesize != PAGE_SIZE) |
90 | error_msg("Assuming pages of size %d\n", pagesize); | 90 | error_msg("Assuming pages of size %d", pagesize); |
91 | #endif | 91 | #endif |
92 | signature_page = (int *) xmalloc(pagesize); | 92 | signature_page = (int *) xmalloc(pagesize); |
93 | memset(signature_page, 0, pagesize); | 93 | memset(signature_page, 0, pagesize); |
@@ -185,7 +185,7 @@ static void page_bad(int page) | |||
185 | bit_test_and_clear(signature_page, page); | 185 | bit_test_and_clear(signature_page, page); |
186 | else { | 186 | else { |
187 | if (badpages == MAX_BADPAGES) | 187 | if (badpages == MAX_BADPAGES) |
188 | error_msg_and_die("too many bad pages\n"); | 188 | error_msg_and_die("too many bad pages"); |
189 | p->badpages[badpages] = page; | 189 | p->badpages[badpages] = page; |
190 | } | 190 | } |
191 | badpages++; | 191 | badpages++; |
@@ -206,7 +206,7 @@ static void check_blocks(void) | |||
206 | } | 206 | } |
207 | if (do_seek && lseek(DEV, current_page * pagesize, SEEK_SET) != | 207 | if (do_seek && lseek(DEV, current_page * pagesize, SEEK_SET) != |
208 | current_page * pagesize) | 208 | current_page * pagesize) |
209 | error_msg_and_die("seek failed in check_blocks\n"); | 209 | error_msg_and_die("seek failed in check_blocks"); |
210 | if ((do_seek = (pagesize != read(DEV, buffer, pagesize)))) { | 210 | if ((do_seek = (pagesize != read(DEV, buffer, pagesize)))) { |
211 | page_bad(current_page++); | 211 | page_bad(current_page++); |
212 | continue; | 212 | continue; |
@@ -307,14 +307,14 @@ int mkswap_main(int argc, char **argv) | |||
307 | } | 307 | } |
308 | } | 308 | } |
309 | if (!device_name) { | 309 | if (!device_name) { |
310 | error_msg("error: Nowhere to set up swap on?\n"); | 310 | error_msg("error: Nowhere to set up swap on?"); |
311 | usage(mkswap_usage); | 311 | usage(mkswap_usage); |
312 | } | 312 | } |
313 | sz = get_size(device_name); | 313 | sz = get_size(device_name); |
314 | if (!PAGES) { | 314 | if (!PAGES) { |
315 | PAGES = sz; | 315 | PAGES = sz; |
316 | } else if (PAGES > sz && !force) { | 316 | } else if (PAGES > sz && !force) { |
317 | error_msg("error: size %ld is larger than device size %d\n", | 317 | error_msg("error: size %ld is larger than device size %d", |
318 | PAGES * (pagesize / 1024), sz * (pagesize / 1024)); | 318 | PAGES * (pagesize / 1024), sz * (pagesize / 1024)); |
319 | return EXIT_FAILURE; | 319 | return EXIT_FAILURE; |
320 | } | 320 | } |
@@ -330,11 +330,11 @@ int mkswap_main(int argc, char **argv) | |||
330 | version = 1; | 330 | version = 1; |
331 | } | 331 | } |
332 | if (version != 0 && version != 1) { | 332 | if (version != 0 && version != 1) { |
333 | error_msg("error: unknown version %d\n", version); | 333 | error_msg("error: unknown version %d", version); |
334 | usage(mkswap_usage); | 334 | usage(mkswap_usage); |
335 | } | 335 | } |
336 | if (PAGES < 10) { | 336 | if (PAGES < 10) { |
337 | error_msg("error: swap area needs to be at least %ldkB\n", | 337 | error_msg("error: swap area needs to be at least %ldkB", |
338 | (long) (10 * pagesize / 1024)); | 338 | (long) (10 * pagesize / 1024)); |
339 | usage(mkswap_usage); | 339 | usage(mkswap_usage); |
340 | } | 340 | } |
@@ -353,7 +353,7 @@ int mkswap_main(int argc, char **argv) | |||
353 | #endif | 353 | #endif |
354 | if (PAGES > maxpages) { | 354 | if (PAGES > maxpages) { |
355 | PAGES = maxpages; | 355 | PAGES = maxpages; |
356 | error_msg("warning: truncating swap area to %ldkB\n", | 356 | error_msg("warning: truncating swap area to %ldkB", |
357 | PAGES * pagesize / 1024); | 357 | PAGES * pagesize / 1024); |
358 | } | 358 | } |
359 | 359 | ||
@@ -363,7 +363,7 @@ int mkswap_main(int argc, char **argv) | |||
363 | if (!S_ISBLK(statbuf.st_mode)) | 363 | if (!S_ISBLK(statbuf.st_mode)) |
364 | check = 0; | 364 | check = 0; |
365 | else if (statbuf.st_rdev == 0x0300 || statbuf.st_rdev == 0x0340) | 365 | else if (statbuf.st_rdev == 0x0300 || statbuf.st_rdev == 0x0340) |
366 | error_msg_and_die("Will not try to make swapdevice on '%s'\n", device_name); | 366 | error_msg_and_die("Will not try to make swapdevice on '%s'", device_name); |
367 | 367 | ||
368 | #ifdef __sparc__ | 368 | #ifdef __sparc__ |
369 | if (!force && version == 0) { | 369 | if (!force && version == 0) { |
@@ -372,7 +372,7 @@ int mkswap_main(int argc, char **argv) | |||
372 | unsigned short *q, sum; | 372 | unsigned short *q, sum; |
373 | 373 | ||
374 | if (read(DEV, buffer, 512) != 512) | 374 | if (read(DEV, buffer, 512) != 512) |
375 | error_msg_and_die("fatal: first page unreadable\n"); | 375 | error_msg_and_die("fatal: first page unreadable"); |
376 | if (buffer[508] == 0xDA && buffer[509] == 0xBE) { | 376 | if (buffer[508] == 0xDA && buffer[509] == 0xBE) { |
377 | q = (unsigned short *) (buffer + 510); | 377 | q = (unsigned short *) (buffer + 510); |
378 | for (sum = 0; q >= (unsigned short *) buffer;) | 378 | for (sum = 0; q >= (unsigned short *) buffer;) |
@@ -381,7 +381,7 @@ int mkswap_main(int argc, char **argv) | |||
381 | error_msg("Device '%s' contains a valid Sun disklabel.\n" | 381 | error_msg("Device '%s' contains a valid Sun disklabel.\n" |
382 | "This probably means creating v0 swap would destroy your partition table\n" | 382 | "This probably means creating v0 swap would destroy your partition table\n" |
383 | "No swap created. If you really want to create swap v0 on that device, use\n" | 383 | "No swap created. If you really want to create swap v0 on that device, use\n" |
384 | "the -f option to force it.\n", device_name); | 384 | "the -f option to force it.", device_name); |
385 | return EXIT_FAILURE; | 385 | return EXIT_FAILURE; |
386 | } | 386 | } |
387 | } | 387 | } |
@@ -391,7 +391,7 @@ int mkswap_main(int argc, char **argv) | |||
391 | if (version == 0 || check) | 391 | if (version == 0 || check) |
392 | check_blocks(); | 392 | check_blocks(); |
393 | if (version == 0 && !bit_test_and_clear(signature_page, 0)) | 393 | if (version == 0 && !bit_test_and_clear(signature_page, 0)) |
394 | error_msg_and_die("fatal: first page unreadable\n"); | 394 | error_msg_and_die("fatal: first page unreadable"); |
395 | if (version == 1) { | 395 | if (version == 1) { |
396 | p->version = version; | 396 | p->version = version; |
397 | p->last_page = PAGES - 1; | 397 | p->last_page = PAGES - 1; |
@@ -400,23 +400,23 @@ int mkswap_main(int argc, char **argv) | |||
400 | 400 | ||
401 | goodpages = PAGES - badpages - 1; | 401 | goodpages = PAGES - badpages - 1; |
402 | if (goodpages <= 0) | 402 | if (goodpages <= 0) |
403 | error_msg_and_die("Unable to set up swap-space: unreadable\n"); | 403 | error_msg_and_die("Unable to set up swap-space: unreadable"); |
404 | printf("Setting up swapspace version %d, size = %ld bytes\n", | 404 | printf("Setting up swapspace version %d, size = %ld bytes\n", |
405 | version, (long) (goodpages * pagesize)); | 405 | version, (long) (goodpages * pagesize)); |
406 | write_signature((version == 0) ? "SWAP-SPACE" : "SWAPSPACE2"); | 406 | write_signature((version == 0) ? "SWAP-SPACE" : "SWAPSPACE2"); |
407 | 407 | ||
408 | offset = ((version == 0) ? 0 : 1024); | 408 | offset = ((version == 0) ? 0 : 1024); |
409 | if (lseek(DEV, offset, SEEK_SET) != offset) | 409 | if (lseek(DEV, offset, SEEK_SET) != offset) |
410 | error_msg_and_die("unable to rewind swap-device\n"); | 410 | error_msg_and_die("unable to rewind swap-device"); |
411 | if (write(DEV, (char *) signature_page + offset, pagesize - offset) | 411 | if (write(DEV, (char *) signature_page + offset, pagesize - offset) |
412 | != pagesize - offset) | 412 | != pagesize - offset) |
413 | error_msg_and_die("unable to write signature page\n"); | 413 | error_msg_and_die("unable to write signature page"); |
414 | 414 | ||
415 | /* | 415 | /* |
416 | * A subsequent swapon() will fail if the signature | 416 | * A subsequent swapon() will fail if the signature |
417 | * is not actually on disk. (This is a kernel bug.) | 417 | * is not actually on disk. (This is a kernel bug.) |
418 | */ | 418 | */ |
419 | if (fsync(DEV)) | 419 | if (fsync(DEV)) |
420 | error_msg_and_die("fsync failed\n"); | 420 | error_msg_and_die("fsync failed"); |
421 | return EXIT_SUCCESS; | 421 | return EXIT_SUCCESS; |
422 | } | 422 | } |