From: Joel Becker Date: Mon, 22 Aug 2011 04:02:57 +0000 (-0700) Subject: Merge branch 'mw-3.1-jul25' of git://oss.oracle.com/git/smushran/linux-2.6 into ocfs2... X-Git-Tag: v3.2-rc4~1^2~8 X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=99b1bb61b225c3eb4d3b196d4f1d041695b19a7e;p=~andy%2Flinux Merge branch 'mw-3.1-jul25' of git://oss.oracle.com/git/smushran/linux-2.6 into ocfs2-fixes --- 99b1bb61b225c3eb4d3b196d4f1d041695b19a7e diff --cc fs/ocfs2/aops.c index ba3ca1e63b5,ff98c169b63..78b68af3b0e --- a/fs/ocfs2/aops.c +++ b/fs/ocfs2/aops.c @@@ -577,20 -567,9 +576,18 @@@ static void ocfs2_dio_end_io(struct kio /* this io's submitter should not have unlocked this before we could */ BUG_ON(!ocfs2_iocb_is_rw_locked(iocb)); - if (ocfs2_iocb_is_sem_locked(iocb)) { - up_read(&inode->i_alloc_sem); + if (ocfs2_iocb_is_sem_locked(iocb)) ocfs2_iocb_clear_sem_locked(iocb); - } + if (ocfs2_iocb_is_unaligned_aio(iocb)) { + ocfs2_iocb_clear_unaligned_aio(iocb); + + if (atomic_dec_and_test(&OCFS2_I(inode)->ip_unaligned_aio) && + waitqueue_active(wq)) { + wake_up_all(wq); + } + } + ocfs2_iocb_clear_rw_locked(iocb); level = ocfs2_iocb_rw_locked_level(iocb);