--- "Raghu R. Arur" <rra2002@aria.ncl.cs.columbia.edu> wrote: > > Hi all, > > Please help me in understanding this part in the > shrink_cache() / snip / > If we see the above code, we are releasing the page > (page_cache_release() ) even if the buffers in the page > are busy without writing them out to the disk. page_cache_release() doesn't free the page unless the ref count drops to zero. If you see in the beginning of the if block, there is a call to page_cache_get(). Calling page_cache_release() elsewhere in the block is to undo this. If the buffers weren't written out earlier, the ref count will not be zero and the page will not be freed. -Ravi. __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/