write_out_data in JBD
From: Zoltan Menyhart
Date: Thu May 18 2006 - 04:28:15 EST
Stephen,
Here is a code fragment starting at "write_out_data:" in
"journal_commit_transaction()":
Let's assume that there is a single "jh" on the list.
write_out_data:
while (commit_transaction->t_sync_datalist) {
jh = commit_transaction->t_sync_datalist;
commit_transaction->t_sync_datalist = jh->b_tnext;
// "commit_transaction->t_sync_datalist" happens always
// to point at our single "jh"
bh = jh2bh(jh);
// Assume not locked
// Assume dirty
if (buffer_dirty(bh)) {
get_bh(bh);
wbuf[bufs++] = bh;
if (bufs == journal->j_wbufsize) {
...
goto write_out_data;
}
} else ...
}
I think our single "jh" will be put on "wbuf[]" repeatedly
("journal->j_wbufsize" times).
Regards,
Zoltan Menyhart
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/