Recently ran into this trying to allocate some unused space on a drive, and the following worked for me:
partx -a /dev/sda
It complained about an in-use partition #1, but added the new partition one #2 and I was able to reference it under /dev/sda2 and do a pvcreate on it and to my volume group. This was after the fdisk & partprobe that didn't work as below
# fdisk -l /dev/sda
Disk /dev/sda: 21.5 GB, 21474836480 bytes
224 heads, 19 sectors/track, 9855 cylinders
Units = cylinders of 4256 * 512 = 2179072 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00006917
Device Boot Start End Blocks Id System
/dev/sda1 * 1 49 102400 83 Linux
/dev/sda2 49 9855 20868016 83 Linux
# partprobe
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (Device or resource busy). As a result, it may not reflect all of your changes until after reboot.
# ls /dev/sda*
/dev/sda /dev/sda1
# partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
# ls /dev/sda*
/dev/sda /dev/sda1 /dev/sda2