[Gluster-users] Write-behind xlator and O_SYNC

Torbjørn Thorsen torbjorn at trollweb.no
Fri Mar 8 09:50:38 UTC 2013


I'm wondering how the write-behind xlator is supposed to work when
accessing files O_SYNC.

Looking at https://github.com/gluster/glusterfs/blob/v3.3.1/xlators/performance/write-behind/src/write-behind.c#L1386,
one might get the impression that all access using O_SYNC should have
write-behind disabled ?

Using loop devices backed by files on Gluster, I'm usually able to do
O_SYNC writes at ~25MB/s.
After ~24 hours at that transfer rate, the rate drops to ~3MB/s.

This performance degradation is accompanied by the following lines in
the client log:
torbjorn at xen-storage01:~$ grep 'disabling wb' glusterfs.log
[2013-03-08 01:11:43.452718] D [write-behind.c:1392:wb_open_cbk]
4-gluster0-write-behind: disabling wb on 0x7f71249023cc
[2013-03-08 01:11:43.470332] D [write-behind.c:1349:wb_disable_all]
4-gluster0-write-behind: disabling wb on 0x7f7139c23abc because
0x7f71249023cc is O_SYNC
[2013-03-08 01:24:22.052691] D [write-behind.c:1392:wb_open_cbk]
4-gluster0-write-behind: disabling wb on 0x7f71249023cc
[2013-03-08 01:26:22.114299] D [write-behind.c:1392:wb_open_cbk]
4-gluster0-write-behind: disabling wb on 0x7f71249023cc
[2013-03-08 01:26:52.179240] D [write-behind.c:1392:wb_open_cbk]
4-gluster0-write-behind: disabling wb on 0x7f71249023cc
[2013-03-08 01:27:13.735775] D [write-behind.c:1392:wb_open_cbk]
4-gluster0-write-behind: disabling wb on 0x7f71249023cc
[2013-03-08 01:27:13.735796] D [write-behind.c:1349:wb_disable_all]
4-gluster0-write-behind: disabling wb on 0x7f7139c23b20 because
0x7f71249023cc is O_SYNC
[2013-03-08 01:27:44.261945] D [write-behind.c:1392:wb_open_cbk]
4-gluster0-write-behind: disabling wb on 0x7f71249023cc
[2013-03-08 01:28:18.836625] D [write-behind.c:1392:wb_open_cbk]
4-gluster0-write-behind: disabling wb on 0x7f71249023cc
[2013-03-08 01:29:09.427915] D [write-behind.c:1392:wb_open_cbk]
4-gluster0-write-behind: disabling wb on 0x7f71249023cc

Each of those lines are preceded by a mention of the filename that is
being affected:
[2013-03-08 01:11:43.428095] D
[afr-common.c:1294:afr_lookup_select_read_child]
4-gluster0-replicate-0: Source selected as 0 for
/hennec.vps.trollweb.net/disk0
[2013-03-08 01:11:43.428110] D
[afr-common.c:1097:afr_lookup_build_response_params]
4-gluster0-replicate-0: Building lookup response from 0

In addition, for a few files I also get these:
[2013-03-08 01:11:43.470332] D [write-behind.c:1349:wb_disable_all]
4-gluster0-write-behind: disabling wb on 0x7f7139c23abc because
0x7f71249023cc is O_SYNC


Should write-behind be active at all while access is O_SYNC ?

It seems that this part of the code has seen major changes between
3.3.1 and 3.4.0,
so I will try out the latest alpha and see if I still see the same
behavior from write-behind.


--
Vennlig hilsen
Torbjørn Thorsen
Utvikler / driftstekniker

Trollweb Solutions AS
- Professional Magento Partner
www.trollweb.no

Telefon dagtid: +47 51215300
Telefon kveld/helg: For kunder med Serviceavtale

Besøksadresse: Luramyrveien 40, 4313 Sandnes
Postadresse: Maurholen 57, 4316 Sandnes

Husk at alle våre standard-vilkår alltid er gjeldende



More information about the Gluster-users mailing list