gluster-devel
[Top][All Lists]
Advanced

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

Re: [Gluster-devel] posix-locks: running ls on file (or directory contai


From: Kevan Benson
Subject: Re: [Gluster-devel] posix-locks: running ls on file (or directory containing file) while file is being written causes failure
Date: Mon, 24 Sep 2007 20:40:11 -0700
User-agent: Thunderbird 2.0.0.6 (X11/20070728)


Can anyone corroborate or refute? It seems like a fairly major bug, I'd be interested in whether anyone else can reproduce it or if it seems to be limited to my testing.

It should be fairly easy to test. If you are using posix locks, try listing a file as it's being written.

Kevan Benson wrote:

glusterfs 1.3.1 TLA 489 / Fuse 2.7.0 GLFS3

When writing a file from a client, an operation that does a listing on that file from another client while the file is being written causes the write operation to fail when the posix-locks feature is used.

I can replicate this with multiple config types, with AFR and Unify on the server, or on the client, or in the simplest case, with absolutely no special xlators besides posix-locks and a single server. Here's the configs for that case:

Here's what it looks like:
# dd if=/dev/zero of=/mnt/glusterfs/testfile.10MB bs=1k count=10k
dd: writing `/mnt/glusterfs/testfile.10MB': Bad file descriptor
4006+0 records in
4005+0 records out
dd: closing output file `/mnt/glusterfs/testfile.10MB': Bad file descriptor

On the other client I'm simply running this to cause the error:
# ls /mnt/glusterfs/

Here's the configs for the simplest case:

# server.vol
volume share
       type storage/posix
       option directory /exports/test
end-volume

volume brick
       type features/posix-locks
       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

volume trace
       type debug/trace
       subvolumes server
       option debug on
end-volume


# client.vol
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





_______________________________________________
Gluster-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/gluster-devel
.






reply via email to

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