Thanks, that did it. I did need one extra option auth.ip.locks.allow * for the new volume. Is there a downside to just always running with this setting? It seemed like my timing tests writing files are pretty much the same, although I did use large files to test with. Dale. On Fri, Jun 20, 2008 at 3:38 AM, Krishna Srinivas <krishna@xxxxxxxxxxxxx> wrote: >> volume remote1 >> type protocol/client >> option transport-type tcp/client >> option remote-host 2A >> option remote-subvolume brick >> end-volume > > remote-subvolume should be locks, not brick. Same with the > other client config. > > Regards > Krishna > > On Fri, Jun 20, 2008 at 3:28 PM, Dale Johnson <dale.johnson@xxxxxxxxx> wrote: >> >> First, gluster is a great product in a great space, and has been working well. >> But I have hit a roadblock trying to do this: >> >> #include <stdio.h> >> #include <fcntl.h> >> #include <errno.h> >> #include <unistd.h> >> #include <string.h> >> >> int main( int argc, char ** argv ) { >> if( argc == 2 ) { >> int fd = open( argv[1], O_WRONLY | O_TRUNC | O_CREAT, 0666 ); >> char s[] = "hello, world\n"; >> write( fd, s, sizeof( s ) ); >> close( fd ); >> >> int fd2 = open( argv[1], O_RDONLY ); >> char buf[80]; >> memset( buf, '\0', sizeof( buf ) ); >> read( fd2, buf, sizeof( buf ) ); >> printf( "buf: %s\n", buf ); >> >> struct flock lk; >> lk.l_type = F_RDLCK; >> lk.l_whence = SEEK_SET; >> lk.l_start = 0; >> lk.l_len = 6; >> lk.l_pid = 0; >> >> int i = fcntl( fd, F_SETLK, &lk ); >> printf( "i=%d, errno=%d\n", i, errno ); >> perror( "foo" ); >> >> close( fd2 ); >> } else { >> printf( "usage: %s <outfile>\n", argv[0] ); >> exit( 2 ); >> } >> } >> >> and I get this: >> >> [root@2D src]# ./a.out /mnt/glusterfs/fooX >> buf: hello, world >> >> i=-1, errno=38 >> foo: Function not implemented >> >> but not on a regular disk >> >> [root@2D src]# ./a.out /tmp/fooY >> buf: hello, world >> >> i=0, errno=0 >> foo: Success >> >> I would have expected this to work. I'm running fuse 2.7.3, >> glusterfs-1.3.9, and centos 2.6.18-53.1.21.el5 on intel. >> >> My config is 2 servers, and 2 clients (running under vmware), and the >> server config is: >> >> volume brick >> type storage/posix >> option directory /data/export >> end-volume >> >> volume locks >> type features/posix-locks >> option manditory on >> subvolumes brick >> end-volume >> >> volume server >> type protocol/server >> option transport-type tcp/server >> option auth.ip.brick.allow * >> subvolumes brick >> end-volume >> >> My client config is: >> >> volume remote1 >> type protocol/client >> option transport-type tcp/client >> option remote-host 2A >> option remote-subvolume brick >> end-volume >> >> volume remote2 >> type protocol/client >> option transport-type tcp/client >> option remote-host 2B >> option remote-subvolume brick >> end-volume >> >> volume mirror0 >> type cluster/afr >> subvolumes remote1 remote2 >> end-volume >> >> I do see this message during the load, but I understand that it's harmless: >> >> 2008-06-18 13:00:21 D [xlator.c:115:xlator_set_type] xlator: >> attempt to load file >> /usr/local/lib/glusterfs/1.3.9/xlator/features/posix-locks.so >> >> 2008-06-18 13:00:21 D [xlator.c:145:xlator_set_type] xlator: dlsym(notify) >> on /usr/local/lib/glusterfs/1.3.9/xlator/features/posix-locks.so: >> undefined symbol: notify -- neglecting >> >> Thanks in advance, >> Dale Johnson >> >> >> _______________________________________________ >> Gluster-devel mailing list >> Gluster-devel@xxxxxxxxxx >> http://lists.nongnu.org/mailman/listinfo/gluster-devel > -- Dale Johnson (dale.johnson@xxxxxxxxx)