← Back to team overview

touch-packages team mailing list archive

[Bug 1473934] Re: ISST-LTE: pmac-fdisk doesn't work with mpath devices

 

------- Comment on attachment From ckumar27@xxxxxxxxxx 2015-07-13 14:13 EDT-------


strace -e open fdisk -l
strace -e open fdisk -l /dev/mapper/mpath0

Both commands gives same results (reading only /dev/sdx and /dev/hdx)
and in unable to read multipath disk. And looking at code it seems it is
meant to be so.

root@dilllp1:/# ll /dev/mapper/
total 0
drwxr-xr-x  2 root root      400 Jul 12 21:03 ./
drwxr-xr-x 13 root root     6400 Jul 12 21:03 ../
crw-------  1 root root  10, 236 Jul 12 20:46 control
lrwxrwxrwx  1 root root        7 Jul 13 08:41 mpath0 -> ../dm-0
brw-------  1 root root 252,   6 Jul 12 20:46 mpath0-part1
brw-------  1 root root 252,   7 Jul 12 20:46 mpath0-part2
brw-------  1 root root 252,   8 Jul 12 20:46 mpath0-part3
lrwxrwxrwx  1 root root        7 Jul 12 20:47 mpath1 -> ../dm-1
brw-------  1 root root 252,   9 Jul 12 20:46 mpath1-part1
brw-------  1 root root 252,  11 Jul 12 20:46 mpath1-part2
lrwxrwxrwx  1 root root        7 Jul 12 20:54 mpath2 -> ../dm-2
brw-rw----  1 root disk 252,  16 Jul 12 20:47 mpath2-part1
brw-rw----  1 root disk 252,  17 Jul 12 20:47 mpath2-part2
lrwxrwxrwx  1 root root        7 Jul 12 21:03 mpath3 -> ../dm-3
brw-rw----  1 root disk 252,  13 Jul 12 21:03 mpath3p1
brw-rw----  1 root disk 252,  14 Jul 12 21:03 mpath3-part1
lrwxrwxrwx  1 root root        7 Jul 12 20:52 mpath4 -> ../dm-4
lrwxrwxrwx  1 root root        7 Jul 12 20:47 mpath5 -> ../dm-5
lrwxrwxrwx  1 root root        8 Jul 12 20:47 mpath6 -> ../dm-10
lrwxrwxrwx  1 root root        8 Jul 12 21:03 mpath7 -> ../dm-12
root@dilllp1:/# 
root@dilllp1:/# 
root@dilllp1:/# ls -l /dev/dm-0 
brw-rw---- 1 root disk 252, 0 Jul 13 08:41 /dev/dm-0
root@dilllp1:/# 


Looking at code : fdisk.c

-----------------------
void try(char *device)
{
        disk_device = device;
        if (!setjmp(listingbuf)) {
                if ((fd = open(disk_device, type_open)) >= 0) {
                        close(fd);
                        get_boot();
                        list_table();
                        if (partitions > 4)
                                delete_partition(ext_index);
              } else {
                                /* Ignore other errors, since we try IDE
                                   and SCSI hard disks which may not be
                                   installed on the system. */
                 if(errno == EACCES) {
                    fprintf(stderr, "Cannot open %s\n", device);
                    exit(1);
                 }
              }
        }
}


void main(int argc, char **argv)
{
        if (argc > 3)
                fatal(usage);
        if (argc > 1 && *argv[1] == '-') {
                switch (*(argv[1] + 1)) {
                        case 'v':
                                printf("fdisk v" VERSION "\n");
                                exit(0);
                        case 'l':
                                listing = 1;
                                type_open = O_RDONLY;
                                try("/dev/hda");
                                try("/dev/hdb");
                                try("/dev/hdc");
                                try("/dev/hdd");
                                try("/dev/sda");
                                try("/dev/sdb");
                                try("/dev/sdc");
                                try("/dev/sdd");
                                try("/dev/sde");
                                try("/dev/sdf");
                                try("/dev/sdg");
                                try("/dev/sdh");
                                exit(0);
                        case 's': {

------------------------------------------------------------

** Tags removed: targetmilestone-inin---
** Tags added: targetmilestone-inin14043

** Attachment added: "Strace Log"
   https://bugs.launchpad.net/bugs/1473934/+attachment/4440834/+files/strace.log

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to util-linux in Ubuntu.
https://bugs.launchpad.net/bugs/1473934

Title:
  ISST-LTE: pmac-fdisk doesn't work with mpath devices

Status in mac-fdisk package in Ubuntu:
  Fix Released
Status in util-linux package in Ubuntu:
  Fix Released
Status in mac-fdisk source package in Trusty:
  Fix Released
Status in util-linux source package in Trusty:
  Fix Released
Status in mac-fdisk source package in Vivid:
  Fix Committed
Status in util-linux source package in Vivid:
  Fix Committed

Bug description:
  ---Problem Description---
  1. fdisk -l doesn't work with mpath device:

  % sudo fdisk -l /dev/mapper/mpath0
  The number of cylinders for this disk is set to 4252.
  This is larger than 1024, and may cause problems with:
  1) software that runs at boot time (e.g., LILO)
  2) booting and partitioning software form other OSs
     (e.g., DOS FDISK, OS/2 FDISK)

  Disk /dev/sda: 128 heads, 32 sectors, 4252 cylinders
  Units = cylinders of 4096 * 512 bytes

     Device Boot   Begin    Start      End   Blocks   Id  System
  /dev/sda1            1        1   135324277143551+  ee  Unknown
  Partition 1 does not end on cylinder boundary:
       phys=(1023, 254, 63) should be (1023, 127, 32)
  The number of cylinders for this disk is set to 4252.
  This is larger than 1024, and may cause problems with:
  1) software that runs at boot time (e.g., LILO)
  2) booting and partitioning software form other OSs
     (e.g., DOS FDISK, OS/2 FDISK)

  Disk /dev/sdb: 128 heads, 32 sectors, 4252 cylinders
  Units = cylinders of 4096 * 512 bytes

     Device Boot   Begin    Start      End   Blocks   Id  System
  /dev/sdb1            1        1       21    42992   83  Linux native
  The number of cylinders for this disk is set to 4252.
  This is larger than 1024, and may cause problems with:
  1) software that runs at boot time (e.g., LILO)
  2) booting and partitioning software form other OSs
     (e.g., DOS FDISK, OS/2 FDISK)
  Warning: invalid flag 6f00 of partition table 4 will be corrected by w(rite)

  Disk /dev/sdc: 128 heads, 32 sectors, 4252 cylinders
  Units = cylinders of 4096 * 512 bytes

     Device Boot   Begin    Start      End   Blocks   Id  System
  The number of cylinders for this disk is set to 4252.
  This is larger than 1024, and may cause problems with:
  1) software that runs at boot time (e.g., LILO)
  2) booting and partitioning software form other OSs
     (e.g., DOS FDISK, OS/2 FDISK)
  Warning: invalid flag 6f00 of partition table 4 will be corrected by w(rite)

  Disk /dev/sdd: 128 heads, 32 sectors, 4252 cylinders
  Units = cylinders of 4096 * 512 bytes

     Device Boot   Begin    Start      End   Blocks   Id  System
  The number of cylinders for this disk is set to 4252.
  This is larger than 1024, and may cause problems with:
  1) software that runs at boot time (e.g., LILO)
  2) booting and partitioning software form other OSs
     (e.g., DOS FDISK, OS/2 FDISK)
  Warning: invalid flag 6f00 of partition table 4 will be corrected by w(rite)

  Disk /dev/sde: 128 heads, 32 sectors, 4252 cylinders
  Units = cylinders of 4096 * 512 bytes

     Device Boot   Begin    Start      End   Blocks   Id  System
  The number of cylinders for this disk is set to 4252.
  This is larger than 1024, and may cause problems with:
  1) software that runs at boot time (e.g., LILO)
  2) booting and partitioning software form other OSs
     (e.g., DOS FDISK, OS/2 FDISK)
  Warning: invalid flag 6f00 of partition table 4 will be corrected by w(rite)

  Disk /dev/sdf: 128 heads, 32 sectors, 4252 cylinders
  Units = cylinders of 4096 * 512 bytes

     Device Boot   Begin    Start      End   Blocks   Id  System
  The number of cylinders for this disk is set to 4252.
  This is larger than 1024, and may cause problems with:
  1) software that runs at boot time (e.g., LILO)
  2) booting and partitioning software form other OSs
     (e.g., DOS FDISK, OS/2 FDISK)
  Warning: invalid flag 6f00 of partition table 4 will be corrected by w(rite)

  Disk /dev/sdg: 128 heads, 32 sectors, 4252 cylinders
  Units = cylinders of 4096 * 512 bytes

     Device Boot   Begin    Start      End   Blocks   Id  System
  The number of cylinders for this disk is set to 4252.
  This is larger than 1024, and may cause problems with:
  1) software that runs at boot time (e.g., LILO)
  2) booting and partitioning software form other OSs
     (e.g., DOS FDISK, OS/2 FDISK)
  Warning: invalid flag 6f00 of partition table 4 will be corrected by w(rite)

  Disk /dev/sdh: 128 heads, 32 sectors, 4252 cylinders
  Units = cylinders of 4096 * 512 bytes

     Device Boot   Begin    Start      End   Blocks   Id  System
  %  

  2. when trying to partition a mpath device with fdisk, it asks user to
  sed sectors and cylindes:

  % sudo fdisk /dev/mapper/mpath4
  You must set heads sectors and cylinders.
  You can do this from the extra functions menu.
  Warning: invalid flag 6f00 of partition table 4 will be corrected by w(rite)

  Command (m for help): p

  Disk /dev/mapper/mpath4: 0 heads, 0 sectors, 0 cylinders
  Units = cylinders of 1 * 512 bytes

               Device Boot   Begin    Start      End   Blocks   Id
  System

  Command (m for help): n
  You must set heads sectors and cylinders.
  You can do this from the extra functions menu.

  Command (m for help):

  3.fdisk will show a wrong partition name:

  % ls /dev/mapper/mpath3-part1
  /dev/mapper/mpath3-part1
  % sudo fdisk /dev/mapper/mpath3
  You must set heads sectors and cylinders.
  You can do this from the extra functions menu.

  Command (m for help): p

  Disk /dev/mapper/mpath3: 0 heads, 0 sectors, 0 cylinders
  Units = cylinders of 1 * 512 bytes

               Device Boot   Begin    Start      End   Blocks   Id  System
  /dev/mapper/mpath31           63        2554287104277143551+  ee  Unknown

  Command (m for help):

  
   
  ---uname output---
  Linux dilllp1 3.19.0-22-generic #22~14.04.1-Ubuntu SMP Wed Jun 17 10:03:39 UTC 2015 ppc64le ppc64le ppc64le GNU/Linux
   
  Machine Type = na 
   
  ---Debugger---
  A debugger is not configured
   
  ---Steps to Reproduce---
   1. install ubuntu 14.04.3 on a system which has mpath devices
  2. using "fdisk" to check mpath device:
  * fdisk -l <mpath device>
  * fdisk <mpath device> (partition the device)

   
  Userspace tool common name: fdisk(symbol link to pmac-fdisk) 
   
  The userspace tool has the following bit modes: 64-bit 

  Userspace package: pmac-fdisk, version: 0.1-16ubuntu2

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mac-fdisk/+bug/1473934/+subscriptions