There appears to be a regression in (alpha) parted-2.0 since parted-1.9.0.

Specifically something has changed that causes a warning message to be displayed when a new partition is created and at least one partition on the device is mounted. The warning messaged displayed is:

   Warning: The kernel was unable to re-read the partition table
   on /dev/sdd (Device or resource busy).  This means Linux
   won't know anything about the modifications you made until
   you reboot.  You should reboot your computer before doing
   anything with /dev/sdd.

This change occurs with (alpha) parted-2.0 that was downloaded from:
ftp://alpha.gnu.org/gnu/parted/parted-2.0.tar.gz

This behaviour did not exist in parted-1.9.0 or prior versions to my knowledge.

This change in behaviour is also evident when using GParted with the (alpha) parted-2.0 library libparted. When GParted is started, after scanning devices it will show a dialog indicating that the kernel is unable to re-read the partition table on a list of devices that have at least one partition mounted. This leads me to believe that the problem originates in a subroutine prior to ever calling parted's mkpart command. Perhaps when the _PedDevice structure is set up from a ped_device_get() call? It's just a hunch of mine - I haven't done any testing to verify this as a source of the change.


Following are a series of steps that demonstrate this problem:


--> $ dev=/dev/sdd
--> $ parted -s $dev mklabel msdos
--> $ parted -s $dev mkpart primary ext2 1 10
--> $ parted -s $dev print
Model: ATA ST3160022ACE (scsi)
Disk /dev/sdd: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
1      32.3kB  10.0MB  9968kB  primary  ext2

--> $ mkfs.ext2 ${dev}1
mke2fs 1.40.8 (13-Mar-2008)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
2448 inodes, 9732 blocks
486 blocks (4.99%) reserved for the super user
First data block=1
Maximum filesystem blocks=10223616
2 block groups
8192 blocks per group, 8192 fragments per group
1224 inodes per group
Superblock backups stored on blocks:
   8193

Writing inode tables: done Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
--> $ mkdir /mnt/testmnt
--> $ mount ${dev}1 /mnt/testmnt

##### NOTE: A warning message occurs if a partition is mounted.

--> $ parted -s $dev mkpart primary ext2 11 20
Warning: The kernel was unable to re-read the partition table on
/dev/sdd (Device or resource busy).  This means Linux won't know
anything about the modifications you made until you reboot.  You
should reboot your computer before doing anything with /dev/sdd.
--> $ parted -s $dev print
Model: ATA ST3160022ACE (scsi)
Disk /dev/sdd: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size     Type     File system  Flags
1      32.3kB  10.0MB  9968kB   primary  ext2
2      10.0MB  20.0MB  10000kB  primary

--> $ umount /mnt/testmnt/

##### NOTE: No warning message occurs if all partitions are unmounted

--> $ parted -s $dev mkpart primary ext2 21 30
--> $ parted -s $dev print
Model: ATA ST3160022ACE (scsi)
Disk /dev/sdd: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size     Type     File system  Flags
1      32.3kB  10.0MB  9968kB   primary  ext2
2      10.0MB  20.0MB  10000kB  primary
3      20.0MB  30.0MB  10000kB  primary

--> $

Regards,
Curtis Gedak



_______________________________________________
parted-devel mailing list
parted-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/parted-devel

Reply via email to