gluster-devel
[Top][All Lists]
Advanced

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

[Gluster-devel] posix-locks problem


From: Kevan Benson
Subject: [Gluster-devel] posix-locks problem
Date: Fri, 3 Aug 2007 14:49:13 -0700
User-agent: KMail/1.7.1

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]