Messages in this thread | | | Date | Wed, 7 Jul 2010 09:17:21 -0400 | From | "J. Bruce Fields" <> | Subject | Re: [PATCH -V14 0/11] Generic name to handle and open by handle syscalls |
| |
On Wed, Jul 07, 2010 at 03:10:21PM +0200, Miklos Szeredi wrote: > On Wed, 7 Jul 2010, J. Bruce Fields wrote: > > On Wed, Jul 07, 2010 at 12:57:26PM +1000, Neil Brown wrote: > > > The trouble with /proc/mounts is that it is somewhat clumsy to parse > > > (remember to handle \0ctal escapes) and doesn't include major/minor number > > > which is the primary key for identifying filesystems in Linux > > > (see /sys/class/bdi/MAJOR:MINOR which is e.g. the best place to configure > > > read-ahead for a filesystem). > > > > > > So /proc/mounts could work (and would probably be better than a new syscall) > > > but I would really rather see something sane in /sys for > > > inspecting/configuring filesystems (rather than each filesystem doing their > > > own independent thing in /sys/fs). > > > > If you use sys or proc, is it possible to get the uuid from a file > > descriptor or pathname without races? > > You can do stat/fstat to find out the device number (which is unique, > but not persistent)
Is it really unique over time? (Can't a given st_dev value map to one filesystem now, and another later?) And it must also have the same problems as libblkid (e.g. btrfs subvolumes share the same st_dev).
--b.
> then look for the major:minor calculated from > st_dev in /proc/self/mountinfo. > > Thanks, > Miklos
| |