Showing posts with label Device. Show all posts
Showing posts with label Device. Show all posts

Monday, October 4, 2010

Return the device name

This will return the name of the device on which the file resides on ...

class File::Stat
  def self.device_name(file)
    Dir['/dev/*'].inject({}) { |h, v|
      h.update(File.stat(v).rdev => v)
    }.values_at(File.stat(file).dev).first || nil
  end
end


Simple use-case:

(main):001:0> File::Stat.device_name('/etc/resolv.conf')
=> "/dev/sda3"


Please note that this code may not be portable enough as it relies on the content of /dev.