How do I make Linux recognize a new SATA /dev/sda drive I hot swapped in without rebooting?
Solution 1:
If your SATA controller supports hot swap, it should "just work(tm)."
To force a rescan on a SCSI BUS (each SATA port shows as a SCSI BUS) and find new drives, you will use:
echo "0 0 0" >/sys/class/scsi_host/host<n>/scan
On the above, < n > is the BUS number.
Solution 2:
echo "- - -" >/sys/class/scsi_host/host<n>/scan
^ ^
\_\_______ note spaces between the dashes.