hi,
here are a couple of patches. I'd sent them out towards the end of
last year, guess they got missed.
1. in end_io_buffer_kiobuf() in fs/buffer.c, kiobuf->errno is set after
kiobuf->end_io() is called. I think it ought to be done earlier, otherwise
an error in the last buffer_head is not reflected in kiobuf->errno when
kiobuf->end_io() runs. this doesn't cause any problems currently since
do_kio() looks at BH_Uptodate of each of the buffer_heads.
2. get_page_map(), which is used only by kiobuf code AFAIK. MAP_NR() should
be called with vaddr.
ganesh
patches are against 2.3.47
--- linux/fs/buffer.c.ORG Wed Feb 23 12:09:55 2000
+++ linux/fs/buffer.c Wed Feb 23 12:10:32 2000
@@ -1735,10 +1735,10 @@
mark_buffer_uptodate(bh, uptodate);
kiobuf = bh->b_kiobuf;
- if (atomic_dec_and_test(&kiobuf->io_count))
- kiobuf->end_io(kiobuf);
if (!uptodate)
kiobuf->errno = -EIO;
+ if (atomic_dec_and_test(&kiobuf->io_count))
+ kiobuf->end_io(kiobuf);
}
--- linux/mm/memory.c.ORG Wed Feb 23 12:10:48 2000
+++ linux/mm/memory.c Wed Feb 23 12:11:46 2000
@@ -418,7 +418,7 @@
struct page * get_page_map(struct page *page, unsigned long vaddr)
{
- if (MAP_NR(page) >= max_mapnr)
+ if (MAP_NR(vaddr) >= max_mapnr)
return 0;
if (page == ZERO_PAGE(vaddr))
return 0;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:32 EST