Messages in this thread | | | Subject | Re: [PATCH -V14 0/11] Generic name to handle and open by handle syscalls | From | Miklos Szeredi <> | Date | Wed, 07 Jul 2010 15:35:50 +0200 |
| |
On Wed, 7 Jul 2010, J. Bruce Fields wrote: > > > 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?)
It's unique at a single point in time. But if you have a reference (e.g. open file descriptor) on the mount then that's not a problem.
fd = open(path, ...); fstat(fd, &st); search st.st_dev in mountinfo close(fd)
is effectively the same as an getuuid(path) syscall (lazy unmounted filesystems will not be found in mountinfo, but the reference is still there so st_dev will not be reused for other filesystems).
Thanks, Miklos
| |