[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
TAKE - Rework pagebuf_delwri_flush to be list safe
Date: Tue Aug 12 15:38:26 PDT 2003
Workarea: chuckle.americas.sgi.com:/go/xfs2/XFS/xfs-linux
The following file(s) were checked into:
bonnie.engr.sgi.com:/isms/slinx/xfs-linux
Modid: xfs-linux:slinx:155660a
pagebuf/page_buf.c - 1.129
- Rework the global list handling of pbd_delwrite_queue.
We were dropping the list lock while scanning the list
while starting pagebuf IO, which could lead to an inconsistent list.
Change the code to scan the list looking for all pagebuf's that can
be flushed placing them on a local temporary list.
Then walk the temporary list NOT under the global lock firing off IO
and subsequently waiting for IO to finish if told to so.