2009/387 [Pathname Reparse Points]
Nicolas Williams
Nicolas.Williams at sun.com
Fri Jul 10 10:29:23 PDT 2009
On Fri, Jul 10, 2009 at 10:18:23AM -0700, Scott Rotondo wrote:
> Darren J Moffat wrote:
> >This looks very cool but I haven't quite got my head around it
> >completely yet.
> >
> >What happens if open(2) is called with O_NOFOLLOW set on one of these
> >reparse points ? (Please answer for ZFS local access, NFS and CIFS).
>
> Since these reparse points are implemented with a special type of
> symlink, open() with O_NOFOLLOW should fail with such an object.
On the client side a server-side reparse point behaves like a mount
point, very much in the same way as mirror mounts.
Locally (on the server) a reparse point is stored in a symlink, but it
isn't followed, and if it were then it'd behave like a mount, just as on
the client side.
There's nothing quite like following a symlink here, therefore
O_NOFOLLOW shouldn't apply on the client side.
An option to not cross mount-points and/or an option to not trigger
[mirror or referral] mounts might be nice. E.g., O_XDEV and O_XTRIGGER.
Nico
--
More information about the opensolaris-arc
mailing list