posix-locks: running ls on file (or directory containing file) while file is being written causes failure

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

 




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







[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux