[Linux-cluster] writev does not work properly on GFS filesystem
Wendy Cheng
wcheng at redhat.com
Tue Mar 27 16:51:36 UTC 2007
Nenad Opsenica wrote:
> I have found a problem when trying to use syslog (sysklogd-1.4.1) for
> writing log files to GFS-mounted filesystem, as only timestamp gets
> logged.
> After searching and tracing with strace, it seems that problem is
> somewhere in GFS filesystem writev implementation.
>
>
> Here is strace of what happens when logging to file on ext3 FS (using
> logger -p user.notice "test-ext3 filesystem" to force logging):
>
> recv(3, "<13>Mar 27 18:27:57 root: test-e"..., 1022, 0) = 46
> time(NULL) = 1175012877
> writev(4, [{"Mar 27 18:27:57", 15}, {" ", 1}, {"pantelija", 9}, {"
> ", 1}, {"root: test-ext3 filesystem", 26}, {"\n", 1}], 6) = 53
> fsync(4) = 0
>
>
> And now, when trying to log to file on GFS FS (using logger -p
> user.notice "test-gfs filesystem") - we have got 45 bytes to write,
> syslog is properly formatting text string into 6 array entries, but
> only the first is written - as could be seen from writev return code:
>
> recv(3, "<13>Mar 27 18:28:49 root: test-g"..., 1022, 0) = 45
> time(NULL) = 1175012929
> writev(4, [{"Mar 27 18:28:49", 15}, {" ", 1}, {"pantelija", 9}, {"
> ", 1}, {"root: test-gfs filesystem", 25}, {"\n", 1}], 6) = 15
> fsync(4) = 0
>
>
> Kernel is 2.6.20.2 and GFS-kernel is 1.04.00
>
>
Yeah... an oversight. I'll fix this soon.
-- Wendy
More information about the Linux-cluster
mailing list