logo       

Re: Why we need delayed allocation!: msg#00040

file-systems.ext2.devel

Subject: Re: Why we need delayed allocation!


that's very good point. thanks for notice and explanation.
at present, I use ->writepages(), not ->writepage() to find/allocate
extents. judging from sources, ->writepages() isn't used during memory
pressure.

>>>>> Nikita Danilov (ND) writes:

ND> One lesson we learned in reiser4 is that delayed allocation done at the
ND> memory pressure (that is, from ->writepage()) doesn't play well with
ND> extents. If file system uses extents to keep track of where file's
ND> blocks are, and extents are initially "unallocated" then at the
ND> -> writepage() time one has to allocate them. This leads to all sorts of
ND> nasty worst cases and deadlocks, because during allocation single
ND> unallocated extent can be split into many allocated ones (due to bitmap
ND> fragmentation), which requires insertion of these new extents, which is
ND> too late to do safely at the ->writepage() time, because you are out of
ND> memory already.




-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills. Sign up for IBM's
Free Linux Tutorials. Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise