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 How reproducible: always
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: 1. AIO 2. Readv-Writev 3. NFS
To recap.. 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 removed.