[Gluster-devel] Here is linkat(2) again
John Mark Walker
johnmark at redhat.com
Sat Jun 2 20:32:00 UTC 2012
Thanks, Emmanuel. We appreciate your continuing contributions to Gluster.
I can't speak for the patches under review, but it's good to see this get closer to a usable release under NetBSD.
-JM
----- Original Message -----
> I tracked down this problem this problem on release-3.3/NetBSD
>
> Test case, that seems to work fine:
>
> $ ln -s a b
> $ ls -l b
> lrwxrwxrwx 0 manu manu 1 Jun 2 17:46 b -> a
>
> But on bricks logs:
>
> [2012-06-02 17:49:26.920400] W [posix-handle.c:461:posix_handle_hard]
> 0-pfs-posix: link /export/wd3a/manu/symlink/b ->
> /export/wd3a/.glusterfs/db/1e/db1e7f6f-78d4-4701-82dd-e90e6801db31
> failed (No such file or directory)
> [2012-06-02 17:49:26.920484] E [posix.c:1277:posix_symlink]
> 0-pfs-posix:
> setting gfid on /export/wd3a/manu/symlink/b failed
>
> This is because link(2) is done with a symlink target, and the
> symlink
> leads to nowhere. BSD link(2) first resolves the symlink and get
> ENOENT.
> Linux link(2) operates on the symlink itself, not its target, and
> works.
>
> Both behavior are standard compliant. The only way to work this
> around
> in a portable way is to use newer standard function linkat(2), which
> allow the caller to specify if symlinks must be followed or not.
>
> Here is the change that fixes the above problem. Please approve and
> merge! http://review.gluster.com/3507
>
> --
> Emmanuel Dreyfus
> http://hcpnet.free.fr/pubz
> manu at netbsd.org
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at nongnu.org
> https://lists.nongnu.org/mailman/listinfo/gluster-devel
>
More information about the Gluster-devel
mailing list