The blockdev applet always returns a zero exit code, which is not consistent with util-linux blockdev behaviour. In particular, this is a problem for the "blockdev --rereadpt" case, which does not provide stdout output. Automation may be relying on a non-zero exit code from blockdev to indicate a BLKRRPART ioctl failure.
Can't reproduce: busybox blockdev --rereadpt /dev/sda execve("./busybox", ["./busybox", "blockdev", "--rereadpt", "/dev/sda"], 0x7ffdd1fbf4b8 /* 53 vars */) = 0 ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0 prctl(PR_SET_NAME, "busybox") = 0 getuid32() = 0 open("/dev/sda", O_RDONLY|O_LARGEFILE) = 3 ioctl(3, BLKRRPART) = -1 EBUSY (Device or resource busy) write(2, "blockdev: /dev/sda: Device or resource busy\n", 44) = 44 exit(1) = ? +++ exited with 1 +++