I don’t know if this is entirely udev’s fault but the backups to the new 2T external USB hard drive had been failing the last few days. So I went to check it out today. I found out that I had no /dev/sdc1 device. Ooookay. But I did have a /dev/sdc device so I ran fdisk /dev/sdc and it printed the normal single whole-disk partition with proper 0x83 partition type. So I exited and created a device node manually using mknod. But ioctl() refused to read the device telling me it was a bad address. WTF?? So I went into fdisk again and this time rewrote the partition table without altering it. Then fdisk called ioctl() for me to update the kernel’s device table and after that the fsck and backups worked.
In retrospect I don’t think it was udev’s fault at all but I don’t know why the kernel would suddenly just *lose* a disk slice. That doesn’t make much sense to me.