When I want Linux to consider newly created partitions without rebooting, I have several tools available to force a refresh of the kernel "partition cache":
partx -va /dev/sdXkpartx -va /dev/sdXhdparm -z /dev/sdXblockdev --rereadpt /dev/sdXsfdisk -R /dev/sdX(deprecated)partprobe /dev/sdX- ...
I'm not sure about the difference between these techniques, but I think they don't use the same ioctl, like BLKRRPART or BLKPG. So, what is the difference between those ioctl?