search for: ocfs2_iocb_rw_locked_level

Displaying 4 results from an estimated 4 matches for "ocfs2_iocb_rw_locked_level".

2010 Nov 19
5
[PATCH 1/1] Ocfs2: Teach 'coherency=full' O_DIRECT writes to correctly up_read i_alloc_sem.
...th.dentry->d_inode; - int level; + int level, coherency; /* this io's submitter should not have unlocked this before we could */ BUG_ON(!ocfs2_iocb_is_rw_locked(iocb)); @@ -576,7 +576,12 @@ static void ocfs2_dio_end_io(struct kiocb *iocb, ocfs2_iocb_clear_rw_locked(iocb); level = ocfs2_iocb_rw_locked_level(iocb); - if (!level) + /* + * 'coherency=full' O_DIRECT writes needs this extra bit + * to correctly up_read the i_alloc_sem. + */ + coherency = ocfs2_iocb_coherency(iocb); + if ((!level) || coherency) up_read(&inode->i_alloc_sem); ocfs2_rw_unlock(inode, level); diff --git...
2009 Jul 13
1
[PATCH 1/1] adds mlogs to aops.c
...void ocfs2_dio_end_io(struct kiocb *iocb, /* this io's submitter should not have unlocked this before we could */ BUG_ON(!ocfs2_iocb_is_rw_locked(iocb)); + mlog(0, "(0x%p, %lld, %ld, 0x%p)\n", iocb, offset, (long)bytes, private); + ocfs2_iocb_clear_rw_locked(iocb); level = ocfs2_iocb_rw_locked_level(iocb); @@ -655,16 +694,25 @@ static void ocfs2_invalidatepage(struct page *page, unsigned long offset) { journal_t *journal = OCFS2_SB(page->mapping->host->i_sb)->journal->j_journal; + mlog(0, "(%lu, %lu)\n", page->index, offset); + jbd2_journal_invalidatepage(jou...
2009 Jul 21
1
(no subject)
...void ocfs2_dio_end_io(struct kiocb *iocb, /* this io's submitter should not have unlocked this before we could */ BUG_ON(!ocfs2_iocb_is_rw_locked(iocb)); + mlog(0, "(0x%p, %lld, %ld, 0x%p)\n", iocb, offset, (long)bytes, private); + ocfs2_iocb_clear_rw_locked(iocb); level = ocfs2_iocb_rw_locked_level(iocb); @@ -655,16 +698,25 @@ static void ocfs2_invalidatepage(struct page *page, unsigned long offset) { journal_t *journal = OCFS2_SB(page->mapping->host->i_sb)->journal->j_journal; + mlog(0, "(%lu, %lu)\n", page->index, offset); + jbd2_journal_invalidatepage(jou...
2009 Jul 21
1
[PATCH 1/1] ocfs2: adds mlogs to aops.c -V2
...void ocfs2_dio_end_io(struct kiocb *iocb, /* this io's submitter should not have unlocked this before we could */ BUG_ON(!ocfs2_iocb_is_rw_locked(iocb)); + mlog(0, "(0x%p, %lld, %ld, 0x%p)\n", iocb, offset, (long)bytes, private); + ocfs2_iocb_clear_rw_locked(iocb); level = ocfs2_iocb_rw_locked_level(iocb); @@ -655,16 +698,25 @@ static void ocfs2_invalidatepage(struct page *page, unsigned long offset) { journal_t *journal = OCFS2_SB(page->mapping->host->i_sb)->journal->j_journal; + mlog(0, "(%lu, %lu)\n", page->index, offset); + jbd2_journal_invalidatepage(jou...