[Bugs] [Bug 958781] KVM guest I/O errors with xfs backed gluster volumes

bugzilla at redhat.com bugzilla at redhat.com
Sat Sep 27 17:22:59 UTC 2014


https://bugzilla.redhat.com/show_bug.cgi?id=958781

Niels de Vos <ndevos at redhat.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugs at gluster.org,
                   |                            |ndevos at redhat.com
          Component|glusterd                    |write-behind
           Assignee|kparthas at redhat.com         |gluster-bugs at redhat.com
         QA Contact|sasundar at redhat.com         |
              Flags|                            |needinfo?(jyundt at gmail.com)



--- Comment #25 from Niels de Vos <ndevos at redhat.com> ---
I'm unsure what would cause a EINVAL when writing to an image file on a XFS
brick. The only thing that I know can cause this, is reading/writing after the
EOF. It is possible that the sparse file has not been completely created
(similar to bug 1058663).

In the logs of the fuse client, we can observe that the write-behind translator
is enabled:

 13: volume xfs-write-behind
 14:     type performance/write-behind
 15:     subvolumes xfs-dht
 16: end-volume


Because the problem from bug 1058663 only happens irregular, I would be
interested in any test results with glusterfs-3.5.1, or where write-behind is
disabled. Could you maybe provide that?


>From attachment #812715, strace of the brick:

Open test.img returns fd=14:

55581 19:30:48.112025 open("/gluster/xfs/test.img", O_RDWR|O_DIRECT|O_CLOEXEC
<unfinished ...>
55539 19:30:48.112044 <... readv resumed>
[{"\0\0A4\0\0\0\0\0\0\0\2\0\23\320\5\0\0\1J\0\0\0\f\0\5\363\227\0\0\0$"...,
120}], 1) = 120 <0.000026>
55581 19:30:48.112073 <... open resumed> ) = 14 <0.000034>

pread(), fstat() and fgetxattr() work, these are the last successful calls:

55545 19:30:59.579685 pread(14,
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 0)
= 4096 <0.000095>
55545 19:30:59.579837 fstat(14, {st_mode=S_IFREG|0600, st_size=1073741824,
...}) = 0 <0.000012>
55545 19:30:59.579902 fgetxattr(14, "trusted.gfid",
"\x1ef\xcb\x10\x10\x1fM\x12\xbd\xb0\xb6*\xd3\xdc\xe6\xd9", 16) = 16 <0.000013>

pread() starts to return EINVAL (note the huge offset?):

55581 19:30:59.581812 pread(14, 0x7f2b155be000, 4096, 1073380864) = -1 EINVAL
(Invalid argument) <0.000012>
...
55545 19:30:59.587159 pread(14, 0x7f2b155be000, 4096, 1073380864) = -1 EINVAL
(Invalid argument) <0.000012>

pwrite() starts to fail too (much smaller offset):

55581 19:31:04.623451 pwrite(14,
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096,
32256 <unfinished ...>
...
55581 19:31:04.623497 <... pwrite resumed> ) = -1 EINVAL (Invalid argument)
<0.000022>

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=hBEhanZOxd&a=cc_unsubscribe


More information about the Bugs mailing list