login
Header Space

 
 

Re: [RFC] fsblock

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Nick Piggin <npiggin@...>
Cc: Jeff Garzik <jeff@...>, Linux Kernel Mailing List <linux-kernel@...>, Linux Memory Management List <linux-mm@...>, <linux-fsdevel@...>
Date: Sunday, June 24, 2007 - 9:51 am

On Sun, Jun 24, 2007 at 05:47:55AM +0200, Nick Piggin wrote:

I'll join the cheering here, thanks for starting on this.


Without having read the code yet (light reading for monday morning ;),
ext3 and reiserfs use buffers heads for data=ordered to help them do
deadlock free writeback.  Basically they need to be able to write out
the pending data=ordered pages, potentially with the transaction lock
held (or if not held, while blocking new transactions from starting).

But, writepage, prepare_write and commit_write all need to start a
transaction with the page lock already held.  So, if the page lock were
used for data=ordered writeback, there would be a lock inversion between
the transaction lock and the page lock.

Using buffer heads instead allows the FS to send file data down inside
the transaction code, without taking the page lock.  So, locking wrt
data=ordered is definitely going to be tricky.

The best long term option may be making the locking order
transaction -> page lock, and change writepage to punt to some other
queue when it needs to start a transaction.

-chris
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC] fsblock, Nick Piggin, (Sat Jun 23, 9:45 pm)
Re: [RFC] fsblock, Christoph Lameter, (Mon Jul 9, 1:14 pm)
Re: [RFC] fsblock, Nick Piggin, (Mon Jul 9, 8:54 pm)
Re: [RFC] fsblock, Christoph Lameter, (Mon Jul 9, 8:59 pm)
Re: [RFC] fsblock, Dave McCracken, (Mon Jul 9, 9:37 pm)
Re: [RFC] fsblock, Nick Piggin, (Mon Jul 9, 9:07 pm)
Re: [RFC] fsblock, Christoph Hellwig, (Sat Jun 30, 7:05 am)
Re: [RFC] fsblock, David Chinner, (Mon Jun 25, 11:06 pm)
Re: [RFC] fsblock, Nick Piggin, (Mon Jun 25, 11:55 pm)
Re: [RFC] fsblock, David Chinner, (Tue Jun 26, 5:23 am)
Re: [RFC] fsblock, Chris Mason, (Tue Jun 26, 8:34 am)
Re: [RFC] fsblock, Nick Piggin, (Wed Jun 27, 1:32 am)
Re: [RFC] fsblock, Chris Mason, (Wed Jun 27, 7:50 am)
Re: [RFC] fsblock, David Chinner, (Wed Jun 27, 6:35 pm)
Re: [RFC] fsblock, Nick Piggin, (Wed Jun 27, 10:44 pm)
Re: [RFC] fsblock, Chris Mason, (Thu Jun 28, 8:20 am)
Re: [RFC] fsblock, Nick Piggin, (Thu Jun 28, 10:33 pm)
Re: [RFC] fsblock, David Chinner, (Thu Jun 28, 10:08 pm)
Re: [RFC] fsblock, Anton Altaparmakov, (Wed Jun 27, 11:18 am)
Re: [RFC] fsblock, David Chinner, (Wed Jun 27, 2:05 am)
Re: [RFC] fsblock, Nick Piggin, (Tue Jun 26, 7:14 am)
Re: [RFC] fsblock, Kyle Moffett, (Wed Jun 27, 8:39 am)
Re: [RFC] fsblock, Andi Kleen, (Sun Jun 24, 10:16 am)
Re: [RFC] fsblock, Nick Piggin, (Mon Jun 25, 3:16 am)
Re: [RFC] fsblock, William Lee Irwin III, (Sun Jun 24, 12:19 am)
Re: [RFC] fsblock, Jeff Garzik, (Sat Jun 23, 11:07 pm)
Re: [RFC] fsblock, Christoph Hellwig, (Sat Jun 30, 6:42 am)
Re: [RFC] fsblock, Jeff Garzik, (Sat Jun 30, 7:10 am)
Re: [RFC] fsblock, Christoph Hellwig, (Sat Jun 30, 7:13 am)
Re: [RFC] fsblock, Nick Piggin, (Sat Jun 23, 11:47 pm)
Re: [RFC] fsblock, Chris Mason, (Sun Jun 24, 9:51 am)
Re: [RFC] fsblock, Nick Piggin, (Mon Jun 25, 2:58 am)
Re: [RFC] fsblock, Chris Mason, (Mon Jun 25, 8:25 am)
Re: [RFC] fsblock, Christoph Hellwig, (Sat Jun 30, 6:44 am)
Re: [RFC] fsblock, Nick Piggin, (Sat Jun 23, 9:53 pm)
[patch 3/3] minix: convert to fsblock, Nick Piggin, (Sat Jun 23, 9:47 pm)
[patch 2/3] block_dev: convert to fsblock, Nick Piggin, (Sat Jun 23, 9:46 pm)
[patch 1/3] add the fsblock layer, Nick Piggin, (Sat Jun 23, 9:46 pm)
Re: [patch 1/3] add the fsblock layer, Chris Mason, (Mon Jun 25, 9:19 am)
Re: [patch 1/3] add the fsblock layer, Nick Piggin, (Mon Jun 25, 10:42 pm)
Re: [patch 1/3] add the fsblock layer, Andi Kleen, (Sun Jun 24, 11:28 am)
Re: [patch 1/3] add the fsblock layer, Nick Piggin, (Mon Jun 25, 3:19 am)
Re: [patch 1/3] add the fsblock layer, Arjan van de Ven, (Sun Jun 24, 4:18 pm)
Re: [patch 1/3] add the fsblock layer, Andi Kleen, (Mon Jun 25, 4:58 am)
speck-geostationary