block level cow operation

Prashant Shah pshah.mumbai at gmail.com
Wed Apr 3 06:28:36 EDT 2013


Hi,

I am trying to implement copy on write operation 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 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 ?

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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130403/b57e3f0d/attachment.html 


More information about the Kernelnewbies mailing list