[Gluster-devel] can't make dht work
Anand Avati
avati at zresearch.com
Wed Jan 14 07:57:16 UTC 2009
Dan,
This is because in some cases fuse does not lookup the "/" of the
filesystem before proceeding to access the entries. A simple
workaround is to stat or ls the / as soon as you mount. Most of the
application access results in a lookup and everything works fine, but
sometimes not so.
avati
2009/1/14 Dan Parsons <dparsons at nyip.net>:
> I think I have possibly found some more useful information on this issue.
>
> It appears that the problem only happens if my first write to dht is with
> 'dd'. If I copy a normal file to the system first, everything works fine
> from that point forward.
>
> However, if I unmount gluster and re-mount it, even though my original files
> come back, I still have to copy a regular file again before dd will work.
> Obviously dd is not important to my production use but it is sort of a
> disconcerting bug, I have to say.
>
> Here's some log output:
>
> This happens when I try to use dd first:
> 2009-01-13 10:45:54 E [dht-helper.c:216:dht_subvol_get_hashed] dht0: layout
> missing path=/ddtest.txt parent=1
> 2009-01-13 10:45:54 E [dht.c:623:dht_lookup] dht0: no subvolume in layout
> for path=/ddtest.txt
> 2009-01-13 10:45:54 E [fuse-bridge.c:406:fuse_entry_cbk] glusterfs-fuse: 2:
> LOOKUP() /ddtest.txt => -1 (Invalid argument)
>
> This happens on the first copy of a regular file to gluster:
> 2009-01-13 10:45:59 W [dht-layout.c:452:dht_layout_normalize] dht0:
> directory / looked up first time
> 2009-01-13 10:45:59 W [dht.c:132:dht_lookup_dir_cbk] dht0: fixing assignment
> on /
>
> From that point onwards, everything works correctly, until I unmount and
> remount, in which case I have to copy a regular file again.
>
>
> Dan Parsons
>
>
> On Jan 13, 2009, at 10:08 AM, Dan Parsons wrote:
>
>> I have tried that and get the same problem every time.
>>
>>
>> Dan Parsons
>>
>>
>> On Jan 13, 2009, at 3:37 AM, Krishna Srinivas wrote:
>>
>>> Dan,
>>> Can you removie the backend directories and re-create it and try this
>>> again?
>>> Krishna
>>>
>>> On Tue, Jan 13, 2009 at 6:31 AM, Dan Parsons <dparsons at nyip.net> wrote:
>>>>
>>>> I'm unable to make dht work. I simply can't copy files to it without
>>>> getting
>>>> the below error. If I make a subdirectory and put files inside of that,
>>>> then
>>>> the problem goes away, but it seems like I must be doing something
>>>> wrong.
>>>> ???
>>>>
>>>> Client error message:
>>>> 2009-01-12 16:54:03 E [dht-helper.c:216:dht_subvol_get_hashed] dht0:
>>>> layout
>>>> missing path=/test3.txt parent=1
>>>> 2009-01-12 16:54:03 E [dht.c:623:dht_lookup] dht0: no subvolume in
>>>> layout
>>>> for path=/test3.txt
>>>> 2009-01-12 16:54:03 E [fuse-bridge.c:406:fuse_entry_cbk] glusterfs-fuse:
>>>> 2:
>>>> LOOKUP() /test3.txt => -1 (Invalid argument)
>>>>
>>>> Command I ran:
>>>> dd if=/dev/zero of=/glustertmp/test3.txt bs=1MB count=10
>>>>
>>>> Server config:
>>>>
>>>> ############################################################################
>>>> # UNIFY
>>>> volume posix-unify-brick
>>>> type storage/posix
>>>> option directory /distfs-storage-space/glusterfs/unify
>>>> end-volume
>>>>
>>>> volume server
>>>> type protocol/server
>>>> option transport-type tcp
>>>> option auth.addr.posix-unify-brick.allow 10.8.101.*
>>>> subvolumes posix-unify-brick
>>>> end-volume
>>>>
>>>> Client config:
>>>> #################################################################
>>>> # CLIENT-UNIFY-1
>>>> volume distfs01-unify-brick
>>>> type protocol/client
>>>> option transport-type tcp
>>>> option remote-host 10.8.101.51
>>>> option remote-subvolume posix-unify-brick
>>>> end-volume
>>>>
>>>> #################################################################
>>>> # CLIENT-UNIFY-2
>>>> volume distfs02-unify-brick
>>>> type protocol/client
>>>> option transport-type tcp
>>>> option remote-host 10.8.101.52
>>>> option remote-subvolume posix-unify-brick
>>>> end-volume
>>>>
>>>> #################################################################
>>>> # CLIENT-UNIFY-3
>>>> volume distfs03-unify-brick
>>>> type protocol/client
>>>> option transport-type tcp
>>>> option remote-host 10.8.101.53
>>>> option remote-subvolume posix-unify-brick
>>>> end-volume
>>>>
>>>> #################################################################
>>>> # CLIENT-UNIFY-4
>>>>
>>>> volume distfs04-unify-brick
>>>> type protocol/client
>>>> option transport-type tcp
>>>> option remote-host 10.8.101.54
>>>> option remote-subvolume posix-unify-brick
>>>> end-volume
>>>>
>>>> # END OF CLIENT-UNIFY
>>>> ################################################################
>>>>
>>>> volume dht0
>>>> type cluster/dht
>>>> subvolumes distfs01-unify-brick distfs02-unify-brick
>>>> distfs03-unify-brick distfs04-unify-brick
>>>> end-volume
>>>>
>>>>
>>>> Dan Parsons
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Gluster-devel mailing list
>>>> Gluster-devel at nongnu.org
>>>> http://lists.nongnu.org/mailman/listinfo/gluster-devel
>>>>
>>>
>>
>>
>>
>> _______________________________________________
>> Gluster-devel mailing list
>> Gluster-devel at nongnu.org
>> http://lists.nongnu.org/mailman/listinfo/gluster-devel
>>
>
>
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at nongnu.org
> http://lists.nongnu.org/mailman/listinfo/gluster-devel
>
More information about the Gluster-devel
mailing list