gluster-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gluster-devel] posix-locks problem


From: Kevan Benson
Subject: Re: [Gluster-devel] posix-locks problem
Date: Fri, 3 Aug 2007 16:26:59 -0700
User-agent: KMail/1.7.1

FYI, fuse version is 2.6.9.

On Friday 03 August 2007 14:49, Kevan Benson wrote:
> I'm having a problem getting locking to work, and this is with TLA patched
> to 425.
>
> Whenever I specify posix locks, I see this in the logs:
> [xlator.c:154:xlator_set_type] libglusterfs/xlator: dlsym(notify) on
> /opt/glusterfs-server/lib/glusterfs/1.3.0/xlator/features/posix-locks.so:
> undefined symbol: notify -- neglecting
>
> There's no other evident problems in the logs.
>
> Originally I was trying a semi complex setup with multiple servers and
> AFR's and unifies, but in testing I've reduced this to a single server
> with a single export and two clients, with no translators at all on the
> client side, and I'm still seeing problems.
>
> Locking works from within the same client, but not from separate
> clients.  That is, using this simple perl script to perform lock a file
> with flock before writing the date, waiting a set period and writing
> the date again functions correctly when run twice from one client,
> but not when run twice from separate clients.
>
> testlock.pl:
> #!/usr/bin/perl
>
>
> use Fcntl ':flock';
>
> my $file = shift or "./testlockfile";
> my $delay = shift or 10;
> my $hostname = `hostname`;
> chomp($hostname);
> print "opening file\n";
> open(my $testfile, '>>', $file) or die("$!\n");
> print "opened file\n";
> print "locking file\n";
> flock($testfile, LOCK_EX);
> print "locked file\n";
> print $testfile "$hostname start ".localtime(time())."\n";
> sleep $delay;
> print $testfile "$hostname end ".localtime(time())."\n";
> flock($testfile, LOCK_UN);
> exit 0;
>
>
> Here's the server config (on 172.16.1.81):
> volume share
>         type storage/posix
>         option directory /exports/test
> end-volume
>
> volume brick
>         type features/posix-locks
>         option mandatory on
>         subvolumes share
> end-volume
>
> volume server
>         type protocol/server
>         option transport-type tcp/server
>         option listen-port 6996
>         subvolumes brick
>         option auth.ip.brick.allow *
> end-volume
>
>
> Here's the clients:
> volume brick
>         type protocol/client
>         option transport-type tcp/client
>         option remote-host 172.16.1.81
>         option remote-port 6996
>         option remote-subvolume brick
> end-volume

-- 
- Kevan Benson
- A-1 Networks




reply via email to

[Prev in Thread] Current Thread [Next in Thread]