Hide Forgot
Description of problem: Missing aio_complete() call in finished_one_bio @ /fs/direct-io.c can cause process hang on IO operation. Version-Release number of selected component (if applicable): Affected kernel is >= 5.6. Issue was not reproduced on RHEL 5.5 and lower kernel. How reproducible: Need to setup OCFS2 cluster FS and use Oracle's database DataPump to export file to OCFS2 partition(mount point). Steps to Reproduce: 1. 2. 3. Actual results: Process hang / spin. Can't be killed - only OS restart. Expected results: Successfull information Additional info: From 2.6.18-274 RedHat patch : diff -Naurp linux-2.6.18.4/fs/direct-io.c linux-2.6.18-redhat/fs/direct-io.c --- linux-2.6.18.4/fs/direct-io.c +++ linux-2.6.18-redhat/fs/direct-io.c .. .. wrong : .. + if (dio->end_io && dio->result) { + if (dio->inode->i_sb->s_type->fs_flags & FS_HAS_IODONE2) { + dio_iodone2_t *end_io = (dio_iodone2_t *)dio->end_io; + + end_io(dio->iocb, offset, transferred, + dio->map_bh.b_private, ret, is_async); + } else + dio->end_io(dio->iocb, offset, transferred, + dio->map_bh.b_private); + } else if (is_async) { + aio_complete(dio->iocb, ret, 0); } .. .. correct : .. + if (dio->end_io && dio->result) { + if (dio->inode->i_sb->s_type->fs_flags & FS_HAS_IODONE2) { + dio_iodone2_t *end_io = (dio_iodone2_t *)dio->end_io; + + end_io(dio->iocb, offset, transferred, + dio->map_bh.b_private, ret, is_async); + } else { + dio->end_io(dio->iocb, offset, transferred, + dio->map_bh.b_private); + if (is_async) + aio_complete(dio->iocb, ret, 0); + } + } else if (is_async) { + aio_complete(dio->iocb, ret, 0); }
Maybe I'm missing something, but isn't this the issue fixed through <https://access.redhat.com/knowledge/sources/source_rpms/kernel-2.6.18-274.7.1.el5/patches/linux-2.6-fs-aio-fix-aio-dio-completion-path-regression-w-3rd-party-bits.patch> (private bug #734157) in the current RHEL5.7.z kernel and documented through <https://access.redhat.com/knowledge/solutions/60521>?
Hello, yes, you are right. It is fixed in 2.6.18-274.7.1.el5. I've reported this on 2011-10-12, 8 days before 2.6.18-274.7.1.el5.
Thank you for checking, Stanislav. I'm closing this accordingly. *** This bug has been marked as a duplicate of bug 734157 ***