[Gluster-users] Fwd: bug in 3.4.1 when creating symlinks

Anand Avati avati at gluster.org
Thu Nov 21 03:25:43 UTC 2013


Peter,
Thanks, this was helpful. Can you please try out the following patch:

http://review.gluster.org/6319


Thanks,
Avati


On Wed, Nov 20, 2013 at 6:35 PM, Peter Drake <peter.drake at acquia.com> wrote:

> I've included straces from both successful and unsuccessful exections, as
> well as the PHP error information below.  Let me know if there is anything
> else I can provide which would be helpful.
>
> PHP Error (as provided by error_get_last()):
>
> Array
> (
>     [type] => 2
>     [message] => symlink(): No such file or directory
>     [file] => /tmp/symlink-test.php
>     [line] => 78
> )
>
> Straces on both clients for symlink creation which was unsuccessful on one
> client:
>
> Strace on unsuccessful client web-1:
> lstat("/mnt/gfs/test1385000751", {st_mode=S_IFLNK|0777, st_size=20, ...})
> = 0
> lstat("/tmp/test1385000751", 0x7fff2b5eb2e0) = -1 ENOENT (No such file or
> directory)
> lstat("/mnt/gfs/test1385000751", {st_mode=S_IFLNK|0777, st_size=20, ...})
> = 0
> readlink("/mnt/gfs/test1385000751", 0x7fff2b5eb3f0, 4096) = -1 EINVAL
> (Invalid argument)
> lstat("/tmp/test1385000751", 0x7fff2b5ef2d0) = -1 ENOENT (No such file or
> directory)
> write(1, "Failed to create local link: /tm"..., 50) = 50
>
> Strace on successful client web-2:
> lstat("/mnt/gfs/test1385000751", 0x7fff3171b720) = -1 ENOENT (No such file
> or directory)
> lstat("/mnt/gfs/test1385000751", 0x7fff31717730) = -1 ENOENT (No such file
> or directory)
> symlink("/mnt/gfs/test-target", "/mnt/gfs/test1385000751") = 0
> lstat("/mnt/gfs/test1385000751", {st_mode=S_IFLNK|0777, st_size=20, ...})
> = 0
> lstat("/tmp/test1385000751", 0x7fff31717730) = -1 ENOENT (No such file or
> directory)
> lstat("/mnt/gfs/test1385000751", {st_mode=S_IFLNK|0777, st_size=20, ...})
> = 0
> readlink("/mnt/gfs/test1385000751", "/mnt/gfs/test-target"..., 4096) = 20
> symlink("/mnt/gfs/test1385000751", "/tmp/test1385000751") = 0
> lstat("/tmp/test1385000751", {st_mode=S_IFLNK|0777, st_size=23, ...}) = 0
>
>
> Straces on both clients for symlink creation which was successful on both
> clients:
>
> Strace on successful client web-1:
> lstat("/mnt/gfs/test1385000727", {st_mode=S_IFLNK|0777, st_size=20, ...})
> = 0
> lstat("/tmp/test1385000727", 0x7fff31717730) = -1 ENOENT (No such file or
> directory)
> lstat("/mnt/gfs/test1385000727", {st_mode=S_IFLNK|0777, st_size=20, ...})
> = 0
> readlink("/mnt/gfs/test1385000727", "/mnt/gfs/test-target"..., 4096) = 20
> symlink("/mnt/gfs/test1385000727", "/tmp/test1385000727") = 0
> lstat("/tmp/test1385000727", {st_mode=S_IFLNK|0777, st_size=23, ...}) = 0
>
> Strace on successful client web-2:
> lstat("/mnt/gfs/test1385000727", 0x7fff2b5ef2d0) = -1 ENOENT (No such file
> or directory)
> lstat("/mnt/gfs/test1385000727", 0x7fff2b5eb2e0) = -1 ENOENT (No such file
> or directory)
> symlink("/mnt/gfs/test-target", "/mnt/gfs/test1385000727") = 0
> lstat("/mnt/gfs/test1385000727", {st_mode=S_IFLNK|0777, st_size=20, ...})
> = 0
> lstat("/tmp/test1385000727", 0x7fff2b5eb2e0) = -1 ENOENT (No such file or
> directory)
> lstat("/mnt/gfs/test1385000727", {st_mode=S_IFLNK|0777, st_size=20, ...})
> = 0
> readlink("/mnt/gfs/test1385000727", "/mnt/gfs/test-target"..., 4096) = 20
> symlink("/mnt/gfs/test1385000727", "/tmp/test1385000727") = 0
> lstat("/tmp/test1385000727", {st_mode=S_IFLNK|0777, st_size=23, ...}) = 0
>
>
>
> On Wed, Nov 13, 2013 at 3:24 PM, Anand Avati <avati at gluster.org> wrote:
>
>>
>>
>>
>> On Wed, Nov 13, 2013 at 12:14 PM, Peter Drake <peter.drake at acquia.com>wrote:
>>
>>> Thanks for taking the time to look at this and reply.  To clarify, the
>>> script that was running and created the log entries is an internal tool
>>> which does lots of other, unrelated things, but the part that caused the
>>> error takes actions very similar to the gist.  I tried to pull out the
>>> related log entries to the best of my ability.  The script in the gist did
>>> not create those log entries, but it does reliably reproduce the same error
>>> / failure (failure when attempting to create a symlink from the local
>>> filesystem to a symlink on the gluster filesystem).  I would not be
>>> surprised if the PHP version of symlink has behavior that is different than
>>> the symlink syscall.
>>>
>>>
>> So what is the failure (errno) when creating a symlink from local fs to
>> glusterfs? Can you get an strace of the script when the error happens?
>>
>> Avati
>>
>
>
>
> --
> *Peter Drake *|* Cloud Software Engineer* |  Acquia <http://acquia.com/>
>
> O: 781.238.4236
>
> *E:* peter.drake at acquia.com  |  Skype: pdrakeweb
>
> W: http://www.acquia.com <http://www.acquia.com/>
>
> Address: 25 Corporate Drive 4th Floor, Burlington, MA 01803
>
> Acquia ranked #1 Software Vendor on the 2012 Inc 500<http://www.acquia.com/about-us/newsroom/press-releases/inc-magazine-unveils-31st-annual-list-america-s-fastest-growing>
>
> Acquia named One of America’s Most Promising Companies by Forbes<http://www.acquia.com/about-us/newsroom/press-releases/acquia-named-forbes-100-list-america-s-most-promising-companies-nov>
>
> Drupal Sites: http://drupalshowcase.com
> Twitter http://www.twitter.com/Acquia
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-users/attachments/20131120/94f47d98/attachment.html>


More information about the Gluster-users mailing list