Revision tags: v2.6.12-rc5 |
|
#
67394f8f |
| 21-May-2005 |
Anton Altaparmakov <aia21@cantab.net> |
Merge with /usr/src/ntfs-2.6.git
|
#
ad34ea2c |
| 20-May-2005 |
James Bottomley <jejb@titanic.(none)> |
merge by hand - fix up rejections in Documentation/DocBook/Makefile
|
#
7063e6c7 |
| 19-May-2005 |
David Woodhouse <dwmw2@shinybook.infradead.org> |
Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
|
#
325a479c |
| 17-May-2005 |
Tony Luck <tony.luck@intel.com> |
Merge with temp tree to get David's gdb inferior calls patch
|
#
d0dac808 |
| 17-May-2005 |
Tony Luck <tony.luck@intel.com> |
Merge with linus
|
#
c64610ba |
| 16-May-2005 |
Andrew Morton <akpm@osdl.org> |
[PATCH] block_read_full_page() get_block() error handling fix
If block_read_full_page() detects an error when running get_block() it will run SetPageError(), then it will zero out the block in pagec
[PATCH] block_read_full_page() get_block() error handling fix
If block_read_full_page() detects an error when running get_block() it will run SetPageError(), then it will zero out the block in pagecache and will mark the buffer_head uptodate.
So at the end of readahead we end up with a non-uptodate pagecache page which is marked PageError. But it has uptodate buffers.
The pagefault code will run ClearPageError, will launch readpage a second time and block_read_full_page() will notice the uptodate buffers and will mark the page uptodate as well. We end up with an uptodate, !PageError page full of zeros and the error is lost.
(It seems a little odd that filemap_nopage() runs ClearPageError(). I guess all of this adds up to meaning that for each attempted access to the page, the pagefault handler will retry the I/O. Which is good and bad. If the app is ignoring SIGBUS for some reason we could get a lot of back-to-back I/O errors.)
Fix it by not marking the pagecache buffer_head as uptodate if the attempt to map that buffer to a disk block failed.
Credit-to: Qu Fuping <fs@ercist.iscas.ac.cn>
For reporting the bug and identifying its source.
Signed-off-by: Qu Fuping <fs@ercist.iscas.ac.cn> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
Revision tags: v2.6.12-rc4 |
|
#
75c96f85 |
| 05-May-2005 |
Adrian Bunk <bunk@stusta.de> |
[PATCH] make some things static
This patch makes some needlessly global identifiers static.
Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: Arjan van de Ven <arjanv@infradead.org> Acked-by: T
[PATCH] make some things static
This patch makes some needlessly global identifiers static.
Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: Arjan van de Ven <arjanv@infradead.org> Acked-by: Trond Myklebust <trond.myklebust@fys.uio.no> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
f0fbd5fc |
| 05-May-2005 |
Andrew Morton <akpm@osdl.org> |
[PATCH] __block_write_full_page() simplification
The `last_bh' logic probably isn't worth much. In those situations where only the front part of the page is being written out we will save some loop
[PATCH] __block_write_full_page() simplification
The `last_bh' logic probably isn't worth much. In those situations where only the front part of the page is being written out we will save some looping but in the vastly more common case of an all-page writeout if just adds more code.
Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
05937baa |
| 05-May-2005 |
Andrew Morton <akpm@osdl.org> |
[PATCH] __block_write_full_page speedup
Remove all those get_bh()'s and put_bh()'s by extending lock_page() to cover the troublesome regions.
(get_bh() and put_bh() happen every time whereas conten
[PATCH] __block_write_full_page speedup
Remove all those get_bh()'s and put_bh()'s by extending lock_page() to cover the troublesome regions.
(get_bh() and put_bh() happen every time whereas contention on a page's lock in there happens basically never).
Cc: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
ad576e63 |
| 05-May-2005 |
Nick Piggin <nickpiggin@yahoo.com.au> |
[PATCH] __block_write_full_page race fix
When running fsstress -v -d $DIR/tmp -n 1000 -p 1000 -l 2 on an ext2 filesystem with 1024 byte block size, on SMP i386 with 4096 byte page size over loopbac
[PATCH] __block_write_full_page race fix
When running fsstress -v -d $DIR/tmp -n 1000 -p 1000 -l 2 on an ext2 filesystem with 1024 byte block size, on SMP i386 with 4096 byte page size over loopback to an image file on a tmpfs filesystem, I would very quickly hit BUG_ON(!buffer_async_write(bh)); in fs/buffer.c:end_buffer_async_write
It seems that more than one request would be submitted for a given bh at a time.
What would happen is the following: 2 threads doing __mpage_writepages on the same page. Thread 1 - lock the page first, and enter __block_write_full_page. Thread 1 - (eg.) mark_buffer_async_write on the first 2 buffers. Thread 1 - set page writeback, unlock page. Thread 2 - lock page, wait on page writeback Thread 1 - submit_bh on the first 2 buffers. => both requests complete, none of the page buffers are async_write, end_page_writeback is called. Thread 2 - wakes up. enters __block_write_full_page. Thread 2 - mark_buffer_async_write on (eg.) the last buffer Thread 1 - finds the last buffer has async_write set, submit_bh on that. Thread 2 - submit_bh on the last buffer. => oops.
So change __block_write_full_page to explicitly keep track of the last bh we need to issue, so we don't touch anything after issuing the last request.
Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
f3ddbdc6 |
| 05-May-2005 |
Nick Piggin <nickpiggin@yahoo.com.au> |
[PATCH] fix race in __block_prepare_write
Fix a race where __block_prepare_write can leak out an in-flight read against a bh if get_block returns an error. This can lead to the page becoming unlock
[PATCH] fix race in __block_prepare_write
Fix a race where __block_prepare_write can leak out an in-flight read against a bh if get_block returns an error. This can lead to the page becoming unlocked while the buffer is locked and the read still in flight. __mpage_writepage BUGs on this condition.
BUG sighted on a 2-way Itanium2 system with 16K PAGE_SIZE running
fsstress -v -d $DIR/tmp -n 1000 -p 1000 -l 2
where $DIR is a new ext2 filesystem with 4K blocks that is quite small (causing get_block to fail often with -ENOSPC).
Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
e422fd2c |
| 05-May-2005 |
Andrea Arcangeli <andrea@suse.de> |
[PATCH] avoid -ENOMEM due reclaimable slab caches
This makes sure that reclaimable buffer headers and reclaimable inodes are accounted properly during the overcommit checks.
Signed-off-by: Andrea A
[PATCH] avoid -ENOMEM due reclaimable slab caches
This makes sure that reclaimable buffer headers and reclaimable inodes are accounted properly during the overcommit checks.
Signed-off-by: Andrea Arcangeli <andrea@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
27b030d5 |
| 03-May-2005 |
David Woodhouse <dwmw2@shinybook.infradead.org> |
Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
|
#
67be2dd1 |
| 01-May-2005 |
Martin Waitz <tali@admingilde.org> |
[PATCH] DocBook: fix some descriptions
Some KernelDoc descriptions are updated to match the current code. No code changes.
Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Mo
[PATCH] DocBook: fix some descriptions
Some KernelDoc descriptions are updated to match the current code. No code changes.
Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
cd7619d6 |
| 01-May-2005 |
Matt Mackall <mpm@selenic.com> |
[PATCH] Exterminate PAGE_BUG
Remove PAGE_BUG - repalce it with BUG and BUG_ON.
Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torval
[PATCH] Exterminate PAGE_BUG
Remove PAGE_BUG - repalce it with BUG and BUG_ON.
Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
d59dd462 |
| 01-May-2005 |
akpm@osdl.org <akpm@osdl.org> |
[PATCH] use smp_mb/wmb/rmb where possible
Replace a number of memory barriers with smp_ variants. This means we won't take the unnecessary hit on UP machines.
Signed-off-by: Anton Blanchard <anton
[PATCH] use smp_mb/wmb/rmb where possible
Replace a number of memory barriers with smp_ variants. This means we won't take the unnecessary hit on UP machines.
Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
#
de7d5a3b |
| 01-May-2005 |
akpm@osdl.org <akpm@osdl.org> |
[PATCH] drop_buffers() oops fix
In rare situations, drop_buffers() can be called for a page which has buffers, but no ->mapping (it was truncated, but the buffers were left behind because ext3 was s
[PATCH] drop_buffers() oops fix
In rare situations, drop_buffers() can be called for a page which has buffers, but no ->mapping (it was truncated, but the buffers were left behind because ext3 was still fiddling with them).
But if there was an I/O error in a buffer_head, drop_buffers() will try to get at the address_space and will oops.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
Revision tags: v2.6.12-rc3 |
|
#
76c3073a |
| 16-Apr-2005 |
akpm@osdl.org <akpm@osdl.org> |
[PATCH] end_buffer_write_sync() avoid pointless assignments
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
Revision tags: v2.6.12-rc2 |
|
#
1da177e4 |
| 16-Apr-2005 |
Linus Torvalds <torvalds@ppc970.osdl.org> |
Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in
Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it.
Let it rip!
show more ...
|