Red Hat Bugzilla – Bug 237707
GFS vector read-write (readv-writev) not working
Last modified: 2010-01-11 22:26:23 EST
Description of problem:
Some VFS hooks have been changed between RHEL 4 (2.6.9 based kernel)
and RHEL 5 (2.6.18 based kernel). One noticable difference is vector
read-write system calls (readv and writev). It uses plain filesystem
read and write calls in 2.6.9 kernel but invokes aio_read and aio_write
in 2.6.18 (and after) kernel. Unfortunately, GFS1 AIO code is mostly
2.6.9 base that takes only one single user buffer. This breaks GFS1
readv() and writev() in multiple buffers cases.
Version-Release number of selected component (if applicable):
RHEL 5 and CVS head
GFS2 is immune from this issue since it uses VFS generic calls.
ah ? not sure the kernel base I was when I wrote this bugzilla... I checked
the code again today .. the kernel uses plain gfs_write.... !!!!!
oh, I see... I was in Steve's nmw tree... so
GFS1 readv-writev, togather with NFS read-write, will be broken in most
recent upstream kernel but it is still ok with RHEL5 kernel.
Maybe I should cancel this bugzilla..
On the other hand, this means our GFS1 in CVS head is broken now.
Worse than I expect in CVS head .. the AIO code there doesn't look familar
at all (did I do that ?) and it is very wrong. So three pieces are wrong in
GFS1 cvs head:
RHEL4 is ok
RHEl5 is ok
CVS head is broken.
I'll continue tomorrow.
Ha! Just check CVS log - I knew it wasn't me :) .. Will fix it tomorrow.
Close this bugzilla since RHEL 5 doesn't have this issue.
Moving all RHCS ver 5 bugs to RHEL 5 so we can remove RHCS v5 which never existed.
Moving all closed bugs to gfs-kmod to match the rpm name. GFS-kernel will be