self.device_name

in ebs/libraries/ebs_volume.rb [56:80]


  def self.device_name(volume_id)
    known_nvme_disks = File.read("/proc/diskstats").lines.map do |line|
      m = line.match(/(nvme[0-9]{1,2}n1)/)
      if m
        m[1]
      else
        nil
      end
    end
    attached_nvme_volumes = Hash[known_nvme_disks.compact.map do |d|
      device_path = "/dev/#{d}"
      ebs_volume_id = EbsVolumeHelpers.volume_id(device_path)
      if ebs_volume_id.nil?
        nil
      else
        [ebs_volume_id, device_path]
      end
    end.compact]

    device_name = attached_nvme_volumes[volume_id]
    raise "Cannot find device for EBS volume id #{volume_id}, known devices: #{attached_nvme_volumes}" if device_name.nil?

    device_name
  end