36

Let’s say I have 50 USB flash drives.

I assume they get to be /dev/sda to /dev/sdz. What comes after /dev/sdz?

Peter Cordes
  • 6,328
  • 22
  • 41
DEKKER
  • 834
  • 8
  • 18
  • Extension of the same question - what happens with virtual xvd devices like `/dev/xvda` ? NVME devices of the format `/dev/nvme1n1` or with partiiton `nvme2n1p3` Does the old format IDE driver giving `/dev/hda` device nodes have the same limits ? – Criggie Apr 01 '22 at 23:05
  • 2
    Amusingly, I once tried to help a Windows user who *had* run out of drive letters. This was years ago. He had two floppies, several compressed drives (each uses two drive letters), external drives and several CD-ROMs and DVDs. Drive A: to drive Z: is all you get. – Wastrel Apr 02 '22 at 14:17
  • @Wastrel At that point you start mounting additional volumes under directories. Yes, that is a very *nix-like approach. Works fine. The underlying physical device paths are numerical, so it'll happily keep incrementing forever (`\Device\HardDisk1`, etc.). – Bob Apr 03 '22 at 15:17

1 Answers1

60

It will go to /dev/sdaa, /dev/sdab, /dev/sdac, etc.

Here is a comment from the source code:

/**
 *  sd_format_disk_name - format disk name
 *  @prefix: name prefix - ie. "sd" for SCSI disks
 *  @index: index of the disk to format name for
 *  @buf: output buffer
 *  @buflen: length of the output buffer
 *
 *  SCSI disk names starts at sda.  The 26th device is sdz and the
 *  27th is sdaa.  The last one for two lettered suffix is sdzz
 *  which is followed by sdaaa.
 *
 *  This is basically 26 base counting with one extra 'nil' entry
 *  at the beginning from the second digit on and can be
 *  determined using similar method as 26 base conversion with the
 *  index shifted -1 after each digit is computed.
 *
 *  CONTEXT:
 *  Don't care.
 *
 *  RETURNS:
 *  0 on success, -errno on failure.
 */

https://github.com/torvalds/linux/blob/master/drivers/scsi/sd.c#L3303-L3324

jesse_b
  • 35,934
  • 12
  • 91
  • 140