]> err.no Git - util-linux/commitdiff
fdisk: suggest partprobe(8) and kpartx(8) when BLKRRPART failed
authorVincent Deffontaines <vincent@gryzor.com>
Tue, 16 Sep 2008 11:08:12 +0000 (13:08 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 6 Oct 2008 09:52:48 +0000 (11:52 +0200)
Signed-off-by: Vincent Deffontaines <vincent@gryzor.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
Co-Author: Karel Zak <kzak@redhat.com>

fdisk/cfdisk.8
fdisk/cfdisk.c
fdisk/fdisk.8
fdisk/fdisk.c
fdisk/sfdisk.8
fdisk/sfdisk.c

index 3cf8c8944008a4715d709ceae969846e1009694d..0eaf5ab3c9385ddf6da404fcccfb744d364e85d8 100644 (file)
@@ -349,11 +349,14 @@ Write partition table to disk (must enter an upper case W).  Since
 this might destroy data on the disk, you must either confirm or deny
 the write by entering `yes' or `no'.  If you enter `yes',
 .B cfdisk
-will write the partition table to disk and the tell the kernel to
-re-read the partition table from the disk.  The re-reading of the
-partition table works in most cases, but I have seen it fail.  Don't
-panic.  It will be correct after you reboot the system.  In all cases,
-I still recommend rebooting the system -- just to be safe.
+will write the partition table to disk and the tell the kernel to re-read the
+partition table from the disk.  The re-reading of the partition table does not
+work in some cases, for example for device-mapper devices.  In
+particular case you need to inform kernel about new
+partitions by
+.B partprobe(8),
+.B kpartx(8)
+or reboot the system.
 .TP
 .I Up Arrow
 .TP
@@ -419,9 +422,11 @@ command (above) for more information on the print formats.
 3: cannot get geometry; 4: bad partition table on disk.
 .SH "SEE ALSO"
 .BR fdisk (8),
+.BR sfdisk (8),
 .BR mkfs (8),
 .BR parted (8),
-.BR sfdisk (8)
+.BR partprobe (8),
+.BR kpartx(8)
 .SH BUGS
 The current version does not support multiple disks.
 .SH AUTHOR
index 300518d6e8598ddf6a290e271d0c344eae8ccda3..b0e1883640aad8faad6030b8107d3c09b5b973a3 100644 (file)
@@ -413,7 +413,7 @@ fdexit(int ret) {
        fprintf(stderr, _("Reboot the system to ensure the partition "
                        "table is correctly updated.\n"));
 #endif
-       
+
        fprintf( stderr, _("\nWARNING: If you have created or modified any\n"
                         "DOS 6.x partitions, please see the cfdisk manual\n"
                         "page for additional information.\n") );
@@ -1423,7 +1423,7 @@ new_part(int i) {
             { ESC, N_("Cancel"), N_("Don't create a partition") },
             { 0, NULL, NULL }
         };
-        
+
        c = menuSimple( menuPartType, 0 );
        if (toupper(c) == 'P')
            num = find_primary();
@@ -1918,7 +1918,7 @@ write_part_table(void) {
         if (changed)
              print_warning(_("Wrote partition table to disk"));
         else
-             print_warning(_("Wrote partition table, but re-read table failed.  Reboot to update table."));
+             print_warning(_("Wrote partition table, but re-read table failed.  Run partprobe(8), kpartx(8) or reboot to update table."));
     } else
         print_warning(_("Wrote partition table to disk"));
 
@@ -2254,7 +2254,7 @@ print_tables(void) {
         { ESC, N_("Cancel"), N_("Don't print the table") },
         { 0, NULL, NULL }
     };
-    
+
     while (!done)
        switch ( toupper(menuSimple( menuFormat, 2)) ) {
        case 'R':
index ea829784ce2c6cb2d32d5c4458e66df5148314b0..5798a539474a39553e5d8846b7bb69d0105c8faf 100644 (file)
@@ -243,9 +243,11 @@ The option `dump partition table to file' is missing.
 .\" and many others.
 .SH "SEE ALSO"
 .BR cfdisk (8),
+.BR sfdisk (8),
 .BR mkfs (8),
 .BR parted (8),
-.BR sfdisk (8)
+.BR partprobe (8),
+.BR kpartx (8)
 .SH AVAILABILITY
 The fdisk command is part of the util-linux-ng package and is available from
 ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
index add1a0883e1cd8a4de85e8a3a8492f79b5307748..a8dfe5d2dbcf5b834722f203b79325401e7d9005 100644 (file)
@@ -1470,7 +1470,7 @@ change_sysid(void) {
        /* If sgi_label then don't use get_existing_partition,
           let the user select a partition, since get_existing_partition()
           only works for Linux like partition tables. */
-       if (!sgi_label) { 
+       if (!sgi_label) {
                i = get_existing_partition(0, partitions);
        } else {
                i = get_partition(0, partitions);
@@ -2289,11 +2289,9 @@ reread_partition_table(int leave) {
         }
 
        if (i) {
-               printf(_("\nWARNING: Re-reading the partition table "
-                        "failed with error %d: %s.\n"
-                        "The kernel still uses the old table.\n"
-                        "The new table will be used "
-                        "at the next reboot.\n"),
+               printf(_("\nWARNING: Re-reading the partition table failed with error %d: %s.\n"
+                        "The kernel still uses the old table. The new table will be used at\n"
+                        "the next reboot or after you run partprobe(8) or kpartx(8)\n"),
                        errno, strerror(errno));
        }
 
@@ -2599,7 +2597,7 @@ main(int argc, char **argv) {
         *  fdisk [-b sectorsize] [-u] device
         *
         * Options -C, -H, -S set the geometry.
-        * 
+        *
         */
        while ((c = getopt(argc, argv, "b:C:H:lsS:uvV")) != -1) {
                switch (c) {
index c2c8d98e812a53a528abec028139f7449064c532..45819096f67a5dc9e73f9172dd8bbf69dc6380cd 100644 (file)
@@ -554,7 +554,9 @@ There is no support for non-DOS partition types.
 .BR cfdisk (8),
 .BR fdisk (8),
 .BR mkfs (8),
-.BR parted (8)
+.BR parted (8),
+.BR partprobe (8),
+.BR kpartx (8)
 .SH AVAILABILITY
 The sfdisk command is part of the util-linux-ng package and is available from
 ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
index e52e32823e130143503107c9c099f87b0d573ec9..83be9eccab5e730c12e7fcdf8cd3c8443f07161f 100644 (file)
@@ -809,7 +809,7 @@ reread_ioctl(int fd) {
 }
 
 static int
-is_blockdev(int fd) {
+is_blockdev(int fd) {
     struct stat statbuf;
 
     return(fstat(fd, &statbuf) == 0 && S_ISBLK(statbuf.st_mode));
@@ -824,8 +824,9 @@ reread_disk_partition(char *dev, int fd) {
     sleep(3);                  /* superfluous since 1.3.20 */
 
     if (reread_ioctl(fd) && is_blockdev(fd))
-      do_warn(_("The command to re-read the partition table failed\n"
-            "Reboot your system now, before using mkfs\n"));
+      do_warn(_("The command to re-read the partition table failed.\n"
+               "Run partprobe(8), kpartx(8) or reboot your system now,\n"
+               "before using mkfs\n"));
 
     if (close(fd)) {
        perror(dev);
@@ -1588,7 +1589,7 @@ msdos_partition(char *dev, int fd, unsigned long start, struct disk_desc *z) {
            }
        }
     }
-           
+
     return 1;
 }
 
@@ -1912,7 +1913,7 @@ max_length(int pno, int is_extended, struct part_desc *ep, int format,
          pp = outer_extended_partition(ep);
     }
     fu = pp ? (pp->start + pp->size) / unit : get_disksize(format);
-       
+
     for(pp = partitions; pp < partitions+pno; pp++)
       if (!is_parent(pp, ep) && pp->size > 0
          && pp->start / unit >= start && pp->start / unit < fu)
@@ -1963,7 +1964,7 @@ compute_start_sect(struct part_desc *p, struct part_desc *ep) {
     }
     p->p.nr_sects = p->size;
     return 1;
-}    
+}
 
 /* build the extended partition surrounding a given logical partition */
 static int