aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2011-08-09 22:49:15 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2011-08-09 22:49:15 +0200
commitb347df91317ca05910e930c94fdba30baf9e2de8 (patch)
treed7d035a1708ed90f2103bbe9c8e92d52ff4a1d2f
parenta6367f9faec0f8736f6ff92fbda5c19d4cbc384e (diff)
downloadbusybox-w32-b347df91317ca05910e930c94fdba30baf9e2de8.tar.gz
busybox-w32-b347df91317ca05910e930c94fdba30baf9e2de8.tar.bz2
busybox-w32-b347df91317ca05910e930c94fdba30baf9e2de8.zip
randomconfig fixes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--shell/hush.c12
-rw-r--r--util-linux/fdisk.c56
2 files changed, 38 insertions, 30 deletions
diff --git a/shell/hush.c b/shell/hush.c
index 6b3027771..e4138adf7 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -5519,12 +5519,6 @@ static char **expand_assignments(char **argv, int count)
5519} 5519}
5520 5520
5521 5521
5522#if BB_MMU
5523/* never called */
5524void re_execute_shell(char ***to_free, const char *s,
5525 char *g_argv0, char **g_argv,
5526 char **builtin_argv) NORETURN;
5527
5528static void switch_off_special_sigs(unsigned mask) 5522static void switch_off_special_sigs(unsigned mask)
5529{ 5523{
5530 unsigned sig = 0; 5524 unsigned sig = 0;
@@ -5544,6 +5538,12 @@ static void switch_off_special_sigs(unsigned mask)
5544 } 5538 }
5545} 5539}
5546 5540
5541#if BB_MMU
5542/* never called */
5543void re_execute_shell(char ***to_free, const char *s,
5544 char *g_argv0, char **g_argv,
5545 char **builtin_argv) NORETURN;
5546
5547static void reset_traps_to_defaults(void) 5547static void reset_traps_to_defaults(void)
5548{ 5548{
5549 /* This function is always called in a child shell 5549 /* This function is always called in a child shell
diff --git a/util-linux/fdisk.c b/util-linux/fdisk.c
index 976558693..c0be15a3a 100644
--- a/util-linux/fdisk.c
+++ b/util-linux/fdisk.c
@@ -201,6 +201,7 @@ enum action { OPEN_MAIN, TRY_ONLY, CREATE_EMPTY_DOS, CREATE_EMPTY_SUN };
201static void update_units(void); 201static void update_units(void);
202#if ENABLE_FEATURE_FDISK_WRITABLE 202#if ENABLE_FEATURE_FDISK_WRITABLE
203static void change_units(void); 203static void change_units(void);
204static void reread_partition_table(int leave);
204static void delete_partition(int i); 205static void delete_partition(int i);
205static unsigned get_partition(int warn, unsigned max); 206static unsigned get_partition(int warn, unsigned max);
206static void list_types(const char *const *sys); 207static void list_types(const char *const *sys);
@@ -2542,6 +2543,35 @@ new_partition(void)
2542} 2543}
2543 2544
2544static void 2545static void
2546reread_partition_table(int leave)
2547{
2548 int i;
2549
2550 printf("Calling ioctl() to re-read partition table\n");
2551 sync();
2552 /* Users with slow external USB disks on a 320MHz ARM system (year 2011)
2553 * report that sleep is needed, otherwise BLKRRPART may fail with -EIO:
2554 */
2555 sleep(1);
2556 i = ioctl_or_perror(dev_fd, BLKRRPART, NULL,
2557 "WARNING: rereading partition table "
2558 "failed, kernel still uses old table");
2559#if 0
2560 if (dos_changed)
2561 printf(
2562 "\nWARNING: If you have created or modified any DOS 6.x\n"
2563 "partitions, please see the fdisk manual page for additional\n"
2564 "information\n");
2565#endif
2566
2567 if (leave) {
2568 if (ENABLE_FEATURE_CLEAN_UP)
2569 close_dev_fd();
2570 exit(i != 0);
2571 }
2572}
2573
2574static void
2545write_table(void) 2575write_table(void)
2546{ 2576{
2547 int i; 2577 int i;
@@ -2571,30 +2601,8 @@ write_table(void)
2571 } 2601 }
2572 } 2602 }
2573 2603
2574 printf( 2604 printf("The partition table has been altered.\n");
2575 "The partition table has been altered.\n" 2605 reread_partition_table(1);
2576 "Calling ioctl(BLKRRPART) to re-read partition table.\n"
2577 );
2578
2579 sync();
2580 /* Users with slow external USB disks on a 320MHz ARM system (year 2011)
2581 * report that sleep is needed, otherwise BLKRRPART may fail with -EIO:
2582 */
2583 sleep(1);
2584 i = ioctl_or_perror(dev_fd, BLKRRPART, NULL,
2585 "WARNING: rereading partition table "
2586 "failed, kernel still uses old table");
2587#if 0
2588 if (dos_changed)
2589 printf(
2590 "\nWARNING: If you have created or modified any DOS 6.x\n"
2591 "partitions, please see the fdisk manual page for additional\n"
2592 "information\n");
2593#endif
2594
2595 if (ENABLE_FEATURE_CLEAN_UP)
2596 close_dev_fd();
2597 exit(i != 0);
2598} 2606}
2599#endif /* FEATURE_FDISK_WRITABLE */ 2607#endif /* FEATURE_FDISK_WRITABLE */
2600 2608