lkml.org 
[lkml]   [2010]   [Jul]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH -V14 0/11] Generic name to handle and open by handle syscalls
    On Wed, Jul 07, 2010 at 10:03:39PM +0530, Aneesh Kumar K. V wrote:
    > On Wed, 7 Jul 2010 10:45:11 -0400, "J. Bruce Fields" <bfields@fieldses.org> wrote:
    > > On Wed, Jul 07, 2010 at 03:35:50PM +0200, Miklos Szeredi wrote:
    > > > 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).
    > >
    > > OK, cool.
    > >
    > > That still leaves the problem that there isn't always an underlying
    > > block device, and/or when there is it doesn't always uniquely specify
    > > the filesystem.
    > >
    >
    > And for this reason we would need this as a syscall right ?

    That's the only solution I see. (Or use an xattr?)

    --b.


    \
     
     \ /
      Last update: 2010-07-07 18:41    [W:0.026 / U:94.084 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site