fdisk does not tell the kernel to reread the partition table on changes to a BSD label (BSD labels is required by the aboot loader). As a work-around I use the attached program, or reboot the machine. int main(int argc, char **argv) { int fd; fd = open(argv[1],O_RDONLY); errno = 0; ioctl(fd,BLKRRPART); return errno; }
This is normal and expected behavior for a busy device - you can not invalidate it. *** This bug has been marked as a duplicate of 8082 ***
The device IS NOT BUSY! fdisk does not even ask the kernel to reread the partition table when modifying a BSD label.
BSD labels are accessed by entering b at the fdisk main menu prompt, which causes fdisk to switch mode to BSD labels instead of DOS labels. The same problem is also available in the minlabel utility (specific utility only for BSD labels).
Forgot to mention the versions currently tested: # rpm -q -f /sbin/fdisk /sbin/minlabel util-linux-2.9w-28 minlabel-1.2-6
assigned to jbj
This has been fixed in util-linux for quite a while.