lkml.org 
[lkml]   [2003]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [BUG] journal handler reference count breaked and fs deadlocked
Date
> >
> > It kernel from my fork vserver project who adapted to RH kernel tree.
> > i do stress testing and see this problems.
> > I see you only rename function, set NO_ATIME to diskquota..
> > and change at one point
> > - commit_dqblk(dquot);
> > + dquot->dq_sb->dq_op->write_dquot(dquot);
> > it`s rignt ?
> > i probe to adapted it fix to my kernel..
>
> Yes, that should be the only changes.
>
I add it but it not fix my problem..
i enable debug print in diskquotas and see sync diskquots be finished before
kernel locked.
sample output:
============================================================
(revoke.c, 375): journal_cancel_revoke: journal_head c79d6990, cancelling
revoke
(transaction.c, 567): do_get_write_access: buffer_head c79d6990, force_copy 0
(revoke.c, 375): journal_cancel_revoke: journal_head c79d6990, cancelling
revoke
(transaction.c, 1104): journal_dirty_metadata: journal_head c79d6990
(transaction.c, 1391): journal_stop: Handle c6cd0500 going down
(transaction.c, 102): start_this_handle: New handle c6cd0500 going live.
(transaction.c, 204): start_this_handle: Handle c6cd0500 given 1 credits
(total)
(inode.c, 2587): ext3_dirty_inode: marking dirty. outer handle=00000000
(transaction.c, 567): do_get_write_access: buffer_head c79d6990, force_copy 0
(revoke.c, 375): journal_cancel_revoke: journal_head c79d6990, cancelling
revoke
(transaction.c, 567): do_get_write_access: buffer_head c79d6990, force_copy 0
(revoke.c, 375): journal_cancel_revoke: journal_head c79d6990, cancelling
revoke
(transaction.c, 1104): journal_dirty_metadata: journal_head c79d6990
(transaction.c, 1391): journal_stop: Handle c6cd0500 going down
(transaction.c, 102): start_this_handle: New handle c6cd0500 going live.
(transaction.c, 204): start_this_handle: Handle c6cd0500 given 1 credits
(total)
(inode.c, 2587): ext3_dirty_inode: marking dirty. outer handle=00000000
(transaction.c, 102): start_this_handle: New handle c6cd0340 going live.
(transaction.c, 204): start_this_handle: Handle c6cd0340 given 26 credits
(tota)
(transaction.c, 955): journal_dirty_data: jh: c79d6c00, tid:507179
(transaction.c, 1391): journal_stop: Handle c6cd0340 going down
dqput(): dq:c7b7e180
put_dqout_ref c7b7e180 341 USR 81
ctx_sync_dquots end
(journal.c, 581): log_start_commit: JBD: requesting commit 507179/507178
(journal.c, 608): log_wait_commit: JBD: want 507179, j_commit_sequence=507178
(journal.c, 263): kjournald: kjournald wakes
(journal.c, 238): kjournald: commit_sequence=507178, commit_request=507179
(journal.c, 242): kjournald: OK, requests differ
(commit.c, 81): journal_commit_transaction: JBD: starting commit of
transaction9
(commit.c, 87): journal_commit_transaction: wait updates.......
(transaction.c, 102): start_this_handle: New handle c6cd0340 going live.
(transaction.c, 136): start_this_handle: Handle c6cd0340 stalling...
(transaction.c, 567): do_get_write_access: buffer_head c79d6480, force_copy 0
(revoke.c, 375): journal_cancel_revoke: journal_head c79d6480, cancelling
revoke
(transaction.c, 567): do_get_write_access: buffer_head c79d6480, force_copy 0
(revoke.c, 375): journal_cancel_revoke: journal_head c79d6480, cancelling
revoke
(transaction.c, 1104): journal_dirty_metadata: journal_head c79d6480
(transaction.c, 567): do_get_write_access: buffer_head c79d61e0, force_copy 0
(revoke.c, 375): journal_cancel_revoke: journal_head c79d61e0, cancelling
revoke
(transaction.c, 567): do_get_write_access: buffer_head c79d61e0, force_copy 0
(revoke.c, 375): journal_cancel_revoke: journal_head c79d61e0, cancelling
revoke
(transaction.c, 1104): journal_dirty_metadata: journal_head c79d61e0
(transaction.c, 567): do_get_write_access: buffer_head c79d6990, force_copy 0
(revoke.c, 375): journal_cancel_revoke: journal_head c79d6990, cancelling
revoke
(transaction.c, 567): do_get_write_access: buffer_head c79d6990, force_copy 0
(revoke.c, 375): journal_cancel_revoke: journal_head c79d6990, cancelling
revoke
(transaction.c, 1104): journal_dirty_metadata: journal_head c79d6990
(transaction.c, 1391): journal_stop: Handle c6cd0500 going down
(transaction.c, 102): start_this_handle: New handle c6cd0500 going live.
(transaction.c, 136): start_this_handle: Handle c6cd0500 stalling...
================
if you need full log - i can upload it to freevps.com.

i think races not in a diskquotas, but in ext3fs or jbd :-\

--
With best regards,
Alex
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:58    [W:0.052 / U:0.384 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site