lkml.org 
[lkml]   [2004]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRE: 2.6.9-rc1-mm1
On Sat, 28 Aug 2004, Sid Boyce wrote:
> I get hangs with 2.6.9-rc1-mm1 if ACPI or APM are enabled. I haven't
> tried console=ttyS1 to see if there is an oops, but from previous
> experiences also posted, they are probably being generated.

I don't know.

> One other problem is that trying to rebuild a 2.6.9-rc1-mm1 kernel under
> 2.6.9-rc1-mm1 fails, once as shown below and once elsewhere in fs/. I
> have to boot 2.6.8-rc4-mm1 in order to build 2.6.9-rc1-mm1. Asus A7N8X-E
> nForce2 chipset, Version: ASUS A7N8X-E Deluxe ACPI BIOS Rev 1011, SuSE
> 9.1. Upgrading to 1012 shortly.
> fs/.tmp_open.o: could not read symbols: File truncated
> make[1]: *** [fs/open.o] Error 1
> make: *** [fs] Error 2
> barrabas:/usr/src/linux-2.6.9-rc1-mm1 # l fs/.tmp_open.o
> -rw-r--r-- 1 root root 114688 2004-08-27 01:01 fs/.tmp_open.o

You probably want the patch I posted yesterday in "data loss" thread
(expect we'll end up choosing a competing patch, but this does fine).

Hugh

--- 2.6.9-rc1-mm1/mm/filemap.c 2004-08-26 12:09:50.000000000 +0100
+++ linux/mm/filemap.c 2004-08-27 14:35:32.113359872 +0100
@@ -722,10 +722,7 @@ void do_generic_mapping_read(struct addr
offset = *ppos & ~PAGE_CACHE_MASK;

isize = i_size_read(inode);
- if (!isize)
- goto out;
-
- end_index = (isize - 1) >> PAGE_CACHE_SHIFT;
+ end_index = isize >> PAGE_CACHE_SHIFT;

for (;;) {
struct page *page;
@@ -733,6 +730,11 @@ void do_generic_mapping_read(struct addr

if (index > end_index)
goto out;
+ if (index == end_index) {
+ nr = isize & ~PAGE_CACHE_MASK;
+ if (nr <= offset)
+ goto out;
+ }

cond_resched();
page_cache_readahead(mapping, &ra, filp, index);
@@ -831,8 +833,8 @@ readpage:
* another truncate extends the file - this is desired though).
*/
isize = i_size_read(inode);
- end_index = (isize - 1) >> PAGE_CACHE_SHIFT;
- if (unlikely(!isize || index > end_index)) {
+ end_index = isize >> PAGE_CACHE_SHIFT;
+ if (unlikely(index > end_index)) {
page_cache_release(page);
goto out;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:05    [W:0.053 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site