On Tue, 9 Apr 2013, Prashant Shah wrote: > Date: Tue, 9 Apr 2013 14:35:56 +0530 > From: Prashant Shah <pshah.mumbai@xxxxxxxxx> > To: linux-ext4@xxxxxxxxxxxxxxx > Subject: Fwd: block level cow operation > > Hi, > > I am trying to implement copy on write operation Hi, In ext4 ? Why are you trying to do that ? > by reading the > original disk block and writing it to some other location and then > allowing the write to pass though (block the write operation till the > read or original block completes) I tried using submit_bio() / > sb_bread() to read the block and using the completion API to signal > the end of reading the block but the performance of this is very bad. > It takes around 12 times more time for any disk writes. Is there any > better way to improve the performance ? I am not sure what you're trying to achieve here, but the simplest answer is yes, there is a way to improve the performance - use device mapper to do this. thinp target provides you with block level cow functionality which enables you to do snapshots efficiently for example. -Lukas > > Not waiting for the completion of the read operation and letting the > disk write go through gives good performance but under 10% of the > cases the read happens after the write and ends up the the new data > and not the original data. > > Regards. > -- > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html