commit b21010ed6498391c0f359f2a89c907533fe07fec Merge: b133003... 5c127c5... Author: Linus Torvalds Date: Tue Sep 4 01:04:43 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit b1330031b76bf1c9dc23635e016625aa9edc069a Merge: ea3c4b1... 1b3b4a1... Author: Linus Torvalds Date: Tue Sep 4 00:45:54 2007 -0700 Merge branch 'for_linus' of git://git.linux-nfs.org/pub/linux/nfs-2.6 commit ea3c4b126ad63bd782c7bb5266bb4fd88e203169 Merge: a5229e6... 7b3166d... Author: Linus Torvalds Date: Tue Sep 4 00:43:57 2007 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 commit a5229e6b3fb77ef92ff585e17ba4aa8a3e945727 Merge: bc5a6de... f82f3f9... Author: Linus Torvalds Date: Tue Sep 4 00:42:41 2007 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fix commit bc5a6deba729a4a44d7b8019408350d4f45b7acb Merge: b4154d4... 48440e8... Author: Linus Torvalds Date: Tue Sep 4 00:39:50 2007 -0700 Merge git://git.infradead.org/~dwmw2/mtd-2.6.23 commit 48440e893d700fb8f0de95fa7d748b711d290365 Author: David Howells Date: Thu Aug 30 17:21:19 2007 +0100 [MTD] Initialise s_flags in get_sb_mtd_aux() Initialise s_flags in get_sb_mtd_aux() from the flags parameter. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit fc0e01974ccccc7530b7634a63ee3fcc57b845ea Author: Jason Lunz Date: Sat Sep 1 12:06:03 2007 -0700 [JFFS2] fix write deadlock regression I've bisected the deadlock when many small appends are done on jffs2 down to this commit: commit 6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2 Author: Nick Piggin Date: Sun May 6 14:49:04 2007 -0700 mm: make read_cache_page synchronous Ensure pages are uptodate after returning from read_cache_page, which allows us to cut out most of the filesystem-internal PageUptodate calls. I didn't have a great look down the call chains, but this appears to fixes 7 possible use-before uptodate in hfs, 2 in hfsplus, 1 in jfs, a few in ecryptfs, 1 in jffs2, and a possible cleared data overwritten with readpage in block2mtd. All depending on whether the filler is async and/or can return with a !uptodate page. It introduced a wait to read_cache_page, as well as a read_cache_page_async function equivalent to the old read_cache_page without any callers. Switching jffs2_gc_fetch_page to read_cache_page_async for the old behavior makes the deadlocks go away, but maybe reintroduces the use-before-uptodate problem? I don't understand the mm/fs interaction well enough to say. [It's fine. dwmw2.] Signed-off-by: Jason Lunz Signed-off-by: David Woodhouse commit 1b3b4a1a2deb7d3e5d66063bd76304d840c966b3 Author: Trond Myklebust Date: Tue Aug 28 10:29:36 2007 -0400 NFS: Fix a write request leak in nfs_invalidate_page() Ryusuke Konishi says: The recent truncate_complete_page() clears the dirty flag from a page before calling a_ops->invalidatepage(), ^^^^^^ static void truncate_complete_page(struct address_space *mapping, struct page *page) { ... cancel_dirty_page(page, PAGE_CACHE_SIZE); <--- Inserted here at kernel 2.6.20 if (PagePrivate(page)) do_invalidatepage(page, 0); ---> will call a_ops->invalidatepage() ... } and this is disturbing nfs_wb_page_priority() from calling nfs_writepage_locked() that is expected to handle the pending request (=nfs_page) associated with the page. int nfs_wb_page_priority(struct inode *inode, struct page *page, int how) { ... if (clear_page_dirty_for_io(page)) { ret = nfs_writepage_locked(page, &wbc); if (ret < 0) goto out; } ... } Since truncate_complete_page() will get rid of the page after a_ops->invalidatepage() returns, the request (=nfs_page) associated with the page becomes a garbage in nfs_inode->nfs_page_tree. ------------------------ Fix this by ensuring that nfs_wb_page_priority() recognises that it may also need to clear out non-dirty pages that have an nfs_page associated with them. Signed-off-by: Trond Myklebust commit 7d1cca72994c0e910ca443076dcfcfd473871dda Author: Chuck Lever Date: Wed Aug 29 17:59:03 2007 -0400 NFS: change NFS mount error return when hostname/pathname too long According to the mount(2) man page, the proper error return code for the mount(2) system call when the special device name or the mounted-on directory name is too long is ENAMETOOLONG. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 350c73af6af51ae7654dad91874c0d30dd13bbbe Author: Chuck Lever Date: Wed Aug 29 17:59:01 2007 -0400 NFS: Off-by-one length error in string handling The hostname was getting truncated in the new text-based NFS mount API. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fdc6e2c8c0dc0ac702fca0b802f5d9ae99a54bb6 Author: Chuck Lever Date: Wed Aug 29 17:58:59 2007 -0400 NFS: Return a real error code from mount(2) Don't filter the return code from the in-kernel rpcbind or NFS mount clients. Return the real error code so that callers of the new NFS text-based mount API can apply a useful retry strategy. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fdb66ff4ace3c4e18809b9b71dfcce1692143147 Author: Chuck Lever Date: Wed Aug 29 17:58:57 2007 -0400 NFS: mount option parser chokes on proto= The new text-based NFS mount option parsing logic doesn't recognize any valid transport protocols due to a silly mistake in the protocol token matching logic. This prevents basic mount requests such as: mount.nfs server:/export /mnt -o proto=tcp from working with the new text-based NFS mount API. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit deee9369b993b52a8e2f25683b4a67be7a65e8ae Author: Trond Myklebust Date: Mon Aug 27 11:33:00 2007 -0400 NFSv4: Ensure that we pass the correct dentry to nfs4_intent_set_file This patch fixes an Oops that was reported by Gabriel Barazer. Signed-off-by: Trond Myklebust commit 65bbf6bdbba0f74e254f706bfb00fe533974f4f1 Author: Trond Myklebust Date: Mon Aug 27 09:57:46 2007 -0400 NFSv4: Fix a typo in _nfs4_do_open_reclaim This should fix the following Oops reported by Jeff Garzik: kernel BUG at fs/nfs/nfs4xdr.c:1040! invalid opcode: 0000 [1] SMP CPU 0 Modules linked in: nfs lockd sunrpc af_packet ipv6 cpufreq_ondemand acpi_cpufreq battery floppy nvram sg snd_hda_intel ata_generic snd_pcm_oss snd_mixer_oss snd_pcm i2c_i801 snd_page_alloc e1000 firewire_ohci ata_piix i2c_core sr_mod cdrom sata_sil ahci libata sd_mod scsi_mod ext3 jbd ehci_hcd uhci_hcd Pid: 16353, comm: 10.10.10.1-recl Not tainted 2.6.23-rc3 #1 RIP: 0010:[] [] :nfs:encode_open+0x1c0/0x330 RSP: 0018:ffff8100467c5c60 EFLAGS: 00010202 RAX: ffff81000f89b8b8 RBX: 00000000697a6f6d RCX: ffff81000f89b8b8 RDX: 0000000000000004 RSI: 0000000000000004 RDI: ffff8100467c5c80 RBP: ffff8100467c5c80 R08: ffff81000f89bc30 R09: ffff81000f89b83f R10: 0000000000000001 R11: ffffffff881e79e0 R12: ffff81003cbd1808 R13: ffff81000f89b860 R14: ffff81005fc984e0 R15: ffffffff88240af0 FS: 0000000000000000(0000) GS:ffffffff8052a000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 00002adb9e51a030 CR3: 000000007ea7e000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process 10.10.10.1-recl (pid: 16353, threadinfo ffff8100467c4000, task ffff8100038ce780) Stack: ffff81004aeb6a40 ffff81003cbd1808 ffff81003cbd1808 ffffffff88240b5d ffff81000f89b8bc ffff81005fc984e8 ffff81000f89bc30 ffff81005fc984e8 0000000300000000 0000000000000000 0000000000000000 ffff81003cbd1800 Call Trace: [] :nfs:nfs4_xdr_enc_open_noattr+0x6d/0x90 [] :sunrpc:rpcauth_wrap_req+0x97/0xf0 [] :nfs:nfs4_xdr_enc_open_noattr+0x0/0x90 [] :sunrpc:call_transmit+0x18a/0x290 [] :sunrpc:__rpc_execute+0x6b/0x290 [] :sunrpc:rpc_do_run_task+0x76/0xd0 [] :nfs:_nfs4_proc_open+0x76/0x230 [] :nfs:nfs4_open_recover_helper+0x5e/0xc0 [] :nfs:nfs4_open_recover+0xe4/0x120 [] :nfs:nfs4_open_reclaim+0xa4/0xf0 [] :nfs:nfs4_reclaim_open_state+0x55/0x1b0 [] :nfs:reclaimer+0x2ca/0x390 [] :nfs:reclaimer+0x0/0x390 [] kthread+0x4b/0x80 [] child_rip+0xa/0x12 [] kthread+0x0/0x80 [] child_rip+0x0/0x12 Code: 0f 0b eb fe 48 89 ef c7 00 00 00 00 02 be 08 00 00 00 e8 79 RIP [] :nfs:encode_open+0x1c0/0x330 RSP Signed-off-by: Trond Myklebust commit 560aef74503e928f44ddbf481b8b02d9cef37dbf Author: Trond Myklebust Date: Mon Aug 27 09:14:56 2007 -0400 NFS: Fix use of cancel_delayed_work_sync in nfs_release_automount_timer Doh! We can't use cancel_delayed_work_sync because we may have been called from an unmount that was being performed by nfs_automount_task. Signed-off-by: Trond Myklebust commit b4154d4a01c6cc98b97dc239ca4302316c8f98da Author: Ondrej Zary Date: Sat Sep 1 00:55:21 2007 +0200 Fix sata_via write errors on PATA drive connected to VT6421 I think that I've found and fixed the problem. There is a copy/paste bug in vt6421_set_dma_mode() function which causes wrong values to be written to PATA_UDMA_TIMING register. This patch fixes a copy/paste bug that breaks DMA modes on VT6421 PATA port. Signed-off-by: Ondrej Zary Acked-by: Alan Cox Signed-off-by: Jeff Garzik commit 7d05154840db52201d8e719fd0f091b8381e362f Author: Jeff Garzik Date: Sat Sep 1 06:48:52 2007 -0400 [libata] ata_piix: properly terminate DMI system list If you don't terminate a list, bad things happen... Signed-off-by: Jeff Garzik commit 7b3166dbc3df5b72f2ba4ea130f4461e318a3838 Author: Peter Chubb Date: Tue Aug 21 13:57:01 2007 +1000 [IA64] Cleanup HPSIM code (was: Re: Enable early console for Ski simulator) After my last patch we have a new header file for HP simulator use. Here's code to use it for stuff that used to have `extern' statements inline in the code. Functionality should not change with this patch. Signed-off-by: Peter Chubb Signed-off-by: Tony Luck commit 8b713c67bccef7cabb0ee915f47eb33d82636af9 Author: Peter Chubb Date: Tue Aug 21 13:51:45 2007 +1000 [IA64] Enable early console for Ski simulator This patch cleans up the `enable early console for SKI' patch (471e7a44848f467c9b83adc3463d019d2fa8817f), and 1. potentially allows the gensparse_defconfig to work again. (there are other problems running a generic kernel on Ski) 2. fixes the `console registered twice' problem. 3. Cleans up the code by moving the `extern hpsim_cons' declaration to a new asm/hpsim.h file. Thanks to Jes for comments. Signed-off-by: Peter Chubb Signed-off-by: Tony Luck commit 99a19cf1c0eb22bad83fff060f08330ee9e029e2 Author: Prarit Bhargava Date: Wed Aug 22 14:34:38 2007 -0400 [IA64] Stop bogus NMI & softlockup warnings in ia64 show_mem When dumping memory via sysrq-m it is possible to take a bogus NMI watchdog or softlockup watchdog because the dump can take a long time on big memory systems. Occasionally tickle the watchdog when doing the dump. Signed-off-by: Prarit Bhargava Signed-off-by: Tony Luck commit 6e9de18120988388cdae5097c09e774416d58745 Author: John Keller Date: Wed Aug 22 19:32:06 2007 -0500 [IA64] SN: Add support for CPU disable Add additional support for CPU disable on SN platforms. Correctly setup the smp_affinity mask for I/O error IRQs. Restrict the use of the feature to Altix 4000 and 450 systems running with a CPU disable capable PROM, and do not allow disabling of CPU 0. Signed-off-by: John Keller Signed-off-by: Tony Luck commit 1aac0b5739ae192ee812eee09625ebfc08c2d760 Author: Jesper Juhl Date: Fri Aug 24 01:40:26 2007 +0200 [IA64] Remove unnecessary cast of allocation return value in sn_hwperf_enum_objects() vmalloc() returns a void pointer - no need to cast it. Signed-off-by: Jesper Juhl Signed-off-by: Tony Luck commit f82f3f9422d4da1eeec6f6cf3e64c6c34c4fe19b Author: Roman Zippel Date: Thu Aug 30 05:06:17 2007 +0200 kconfig: oldconfig shall not set symbols if it does not need to Avoid setting the value if the symbol doesn't need to be changed or can't be changed. Later choices may change the dependencies and thus the possible input range. make oldconfig from a 2.6.22 .config with CONFIG_HOTPLUG_CPU not set was in some configurations setting CONFIG_HOTPLUG_CPU=y without asking, even when there was no actual requirement for CONFIG_HOTPLUG_CPU. This was triggered by SUSPEND_SMP that does a select HOTPLUG_CPU. Signed-off-by: Roman Zippel Tested-by: Hugh Dickins Signed-off-by: Sam Ravnborg commit 5c127c58ae9bf196d787815b1bd6b0aec5aee816 Author: David S. Miller Date: Fri Aug 31 14:39:44 2007 -0700 [TCP]: 'dst' can be NULL in tcp_rto_min() Reported by Rick Jones. Signed-off-by: David S. Miller commit f740e6c9c55cac6ab0a7d44a464b54467cca4f4f Author: Kenji Kaneshige Date: Wed Aug 22 19:53:30 2007 +0900 [IA64] Clear pending interrupts at CPU boot up time The pending interrupts can be remaining at boot up time on some platform. This will cause spurious interrupts when interrupt is enabled for the first time. This patch clears IVR at the CPU initialization to eliminate such spurious interrupts. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 17764d2437b0c4440e0718205f2c26dbaa72bc27 Author: Kenji Kaneshige Date: Tue Aug 28 16:01:21 2007 -0700 [IA64] Fix unexpected interrupt vector handling Fix handling for spurious interrupts not being mapped to any IRQs. Currently, spurious interrupts that are not mapped to any IRQs are handled as IRQ 15 (== IA64_SPURIOUS_VECTOR). But it is not proper because vector != irq. We need special handlings for such spurious interrupts not being mapped to any IRQs. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck