Seek_hole seek data loop on glusterfs/fuse

Hello

Basically , the client get stuck in this loop and teh server decide to timeout the connction and the backup fails.
i did a strace, i get this :

[pid 7954] poll([{fd=13, events=POLLIN}, {fd=14, events=POLLIN}, {fd=9, events=POLLIN}, {fd=16, events=POLLIN}, {fd=21, events=POLLIN}], 5, 10 <unfinished …>
[pid 14007] <… lseek resumed> ) = 0
[pid 14007] lseek(22, 0, SEEK_HOLE <unfinished …>
[pid 13999] <… lseek resumed> ) = 0
[pid 13999] lseek(20, 0, SEEK_DATA <unfinished …>
[pid 14007] <… lseek resumed> ) = 0

… a lot of hole_seek, data_seek

[pid 13999] lseek(20, 0, SEEK_HOLE <unfinished …>
[pid 14007] <… lseek resumed> ) = 0
[pid 14007] lseek(22, 0, SEEK_HOLE <unfinished …>
[pid 13999] <… lseek resumed> ) = 0
[pid 13999] lseek(20, 0, SEEK_DATA <unfinished …>
[pid 14007] <… lseek resumed> ) = 0
[pid 14007] lseek(22, 0, SEEK_DATA <unfinished …>
[pid 13999] <… lseek resumed> ) = 0
[pid 13999] lseek(20, 0, SEEK_HOLE <unfinished …>
[pid 14007] <… lseek resumed> ) = 0
[pid 14007] lseek(22, 0, SEEK_HOLE <unfinished …>
[pid 13999] <… lseek resumed> ) = 0
[pid 13999] lseek(20, 0, SEEK_DATA <unfinished …>
[pid 14007] <… lseek resumed> ) = 0
[pid 14007] lseek(22, 0, SEEK_DATA <unfinished …>
[pid 13999] <… lseek resumed> ) = 0
[pid 13999] lseek(20, 0, SEEK_HOLE <unfinished …>
[pid 7954] <… poll resumed> ) = 0 (Timeout)
[pid 7954] poll([{fd=13, events=POLLIN}, {fd=14, events=POLLIN}, {fd=9, events=POLLIN}, {fd=16, events=POLLIN}, {fd=21, events=POLLIN}], 5, 10 <unfinished …>
[pid 14007] <… lseek resumed> ) = 0
[pid 14007] lseek(22, 0, SEEK_HOLE <unfinished …>
[pid 13999] <… lseek resumed> ) = 0
[pid 13999] lseek(20, 0, SEEK_DATA <unfinished …>


It goes back to the seek data seek hole loop, then again :
[pid 13999] lseek(20, 0, SEEK_HOLE <unfinished …>
[pid 7954] <… poll resumed> ) = 0 (Timeout)
[pid 7954] poll([{fd=13, events=POLLIN}, {fd=14, events=POLLIN}, {fd=9, events=POLLIN}, {fd=16, events=POLLIN}, {fd=21, events=POLLIN}], 5, 10 <unfinished …>
[pid 14007] <… lseek resumed> ) = 0
[pid 14007] lseek(22, 0, SEEK_HOLE <unfinished …>

How big is the file?

I think normally lseek(fd ,0, SEEK_DATA) is supposed to return -1 at EOF.

The file is 800bits (10lines), i think it s the first file on the volume.
the volume is 80GB

Also for the time being, we stopped using gluster this morning …