Skip to contentSkip to conversation

2.6.9-rc1-mm1

DISCUSSION Sid Boyce 2 participants 2 messages Aug 28, 2004

Subsystems (2)
lore
Share & tools
lore

Sid Boyce

author
#0 lore raw

My previous post details the problem with KDE I had on 2.6.9-rc1, 2.6.9-rc1-mm1 fixed that.
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.
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
Regards
Sid.

Signature · 2 lines
Sid Boyce .... Hamradio G3VBV and keen Flyer
=====LINUX ONLY USED HERE=====
#1 lore raw
Quoted 3 lines · Sid Boyce

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.

Quoted 10 lines

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

mm/filemap.c +8 -6
@@ -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;
 		}