I have a few questions about the xfs code. Line
numbers are relative to the 2.4.26 kernel.
1) In xfs_lrw.c in xfs_iozero at line 179, a page is allocated
by grab_cache_page. Does grab_cache_page guarantee
that the page is lockable AND that grab_cache_page
does the locking? At then end of the function the
page is unlocked. Does it matter because you are just
zeroing out the page?
2) In xfs_aops.c, the function xfs_count_page_state checks
the page for it's state (delayed alloc, unmapped, unwritten).
Why does it to a do while to figure it out? Why can't it
just check once? Is it check incase there are mulitple
buffers in one page?
3) Should the setting of flags with PFLAGS (ex. line
1300 in xfs_aops.c) be done atomically?
Thanks,
Craig
|