commit 5331be090567d9335476f876b2d85427cd7c4426 Merge: d3f8fd7... 7220c01... Author: Linus Torvalds Date: Wed Feb 7 08:10:48 2007 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: JFS: Remove incorrect kgdb define JFS: call io_schedule() instead of schedule() to avoid deadlock JFS: Add lockdep annotations JFS: Avoid BUG() on a damaged file system commit d3f8fd765e94b9137e1f27bbb0ac25289f9e565c Merge: 0670afd... a2cf822... Author: Linus Torvalds Date: Wed Feb 7 08:09:00 2007 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (57 commits) [GFS2] make gfs2_writepages() static [GFS2] Unlock page on prepare_write try lock failure [GFS2] nfsd readdirplus assertion failure [DLM] fix softlockup in dlm_recv [DLM] zero new user lvbs [DLM/GFS2] indent help text [GFS2] Fix unlink deadlocks [GFS2] Put back semaphore to avoid umount problem [GFS2] more CURRENT_TIME_SEC [GFS2/DLM] fix GFS2 circular dependency [GFS2/DLM] use sysfs [GFS2] make lock_dlm drop_count tunable in sysfs [GFS2] increase default lock limit [GFS2] Fix list corruption in lops.c [GFS2] Fix recursive locking attempt with NFS [DLM] can miss clearing resend flag [DLM] saved dlm message can be dropped [DLM] Make sock_sem into a mutex [GFS2] Fix typo in glock.c [GFS2] use CURRENT_TIME_SEC instead of get_seconds in gfs2 ... commit a2cf822274b3d58a16a65c8338e299e18b3dc3a4 Author: Adrian Bunk Date: Tue Feb 6 23:12:49 2007 +0100 [GFS2] make gfs2_writepages() static On Mon, Jan 29, 2007 at 08:45:28PM -0800, Andrew Morton wrote: >... > Changes since 2.6.20-rc6-mm2: >... > git-gfs2-nmw.patch >... > git trees >... This patch makes the needlessly global gfs2_writepages() static. Signed-off-by: Adrian Bunk Signed-off-by: Steven Whitehouse commit 2d72e7101cc7fff5c1eb21bfcbba51c8002418d2 Author: Steven Whitehouse Date: Wed Feb 7 10:25:59 2007 -0500 [GFS2] Unlock page on prepare_write try lock failure When the try lock of the glock failed in prepare_write we were incorrectly exiting this function with the page still locked. This was resulting in further I/O to this page hanging. Signed-off-by: Steven Whitehouse commit 0670afdf0e69e5e73c8358da9c39bf3a8807b03e Merge: dda2ac1... 5109900... Author: Linus Torvalds Date: Tue Feb 6 17:24:58 2007 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: (27 commits) [IA64] swiotlb abstraction (e.g. for Xen) [IA64] swiotlb cleanup [IA64] make swiotlb use bus_to_virt/virt_to_bus [IA64] swiotlb bug fixes [IA64] Hook up getcpu system call for IA64 [IA64] clean up sparsemem memory_present call [IA64] show_mem() for IA64 sparsemem NUMA [IA64] missing exports hwsw_sync_... [IA64] virt_to_page() can be called with NULL arg [IA64] alignment bug in ldscript [IA64] register memory ranges in a consistent manner [IA64] Enable SWIOTLB only when needed [IA64-SGI] Check for TIO errors on shub2 Altix [IA64] remove bogus prototype ia64_esi_init() [IA64] Clear IRQ affinity when unregistered [IA64] fix ACPI Kconfig issues [IA64] Fix NULL-pointer dereference in ia64_machine_kexec() [IA64] find thread for user rbs address [IA64] use snprintf() on features field of /proc/cpuinfo [IA64] enable singlestep on system call ... commit dda2ac15d23b38e4335e858848aa8c9a6710304f Merge: 2ac04a1... e051fda... Author: Linus Torvalds Date: Tue Feb 6 14:59:27 2007 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: ocfs2_link() journal credits update commit 2ac04a1597d9bca952dafcf8cbff4621884cb723 Merge: 0c7d375... a417a21... Author: Linus Torvalds Date: Tue Feb 6 14:56:37 2007 -0800 Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid: USB HID: handle multi-interface devices for Apple macbook pro properly HID: move away from DEBUG defines in favor of CONFIG_HID_DEBUG USB HID: fix bogus comment in hid_get_class_descriptor() USB HID: remove hid_find_field_by_usage() HID: API - fix leftovers of hidinput API in USB HID HID: hid debug from hid-debug.h to hid layer hid: force feedback driver for PantherLord USB/PS2 2in1 Adapter hid: quirk for multi-input devices with unneeded output reports hid: allow force feedback for multi-input devices commit 0c7d3757116c59b3eedd9aa6dfd7ae0a1341f5c2 Merge: 2442d31... b45bfcc... Author: Linus Torvalds Date: Tue Feb 6 14:55:33 2007 -0800 Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: IB/ehca: Remove obsolete prototypes IB/ehca: Remove use of do_mmap() RDMA/addr: Handle ethernet neighbour updates during route resolution IB: Make sure struct ib_user_mad.data is aligned IB/srp: Don't wait for response when QP is in error state. IB: Return qp pointer as part of ib_wc IB: Include explicitly in commit 2442d3109943bafbdfc4f0495e3d10eeedc8390c Merge: 02aedd6... f9d429a... Author: Linus Torvalds Date: Tue Feb 6 14:54:54 2007 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (32 commits) mmc: tifm: replace kmap with page_address mmc: sdhci: fix voltage ocr mmc: sdhci: replace kmap with page_address mmc: wbsd: replace kmap with page_address mmc: handle pci_enable_device() return value in sdhci mmc: Proper unclaim in mmc_block mmc: change wbsd mailing list mmc: Graceful fallback for fancy features mmc: Handle wbsd's stupid command list mmc: Allow host drivers to specify max block count mmc: Allow host drivers to specify a max block size tifm_sd: add suspend and resume functionality tifm_core: add suspend/resume infrastructure for tifm devices tifm_7xx1: prettify tifm_7xx1: recognize device 0xac8f as supported tifm_7xx1: switch from workqueue to kthread tifm_7xx1: Merge media insert and media remove functions tifm_7xx1: simplify eject function Add dummy_signal_irq function to save check in ISR Remove unused return value from signal_irq callback ... commit 02aedd69e2ef31b0fca1e8960cb1e7fd0c343110 Merge: 9ad0830... 4d284ca... Author: Linus Torvalds Date: Tue Feb 6 14:45:32 2007 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (37 commits) [S390] Avoid excessive inlining. [S390] Mark kernel text section read-only. [S390] Convert memory detection into C code. [S390] Calibrate delay and bogomips. [S390] Hypervisor filesystem (s390_hypfs) for z/VM [S390] Add crypto support for 3592 tape devices [S390] boot from NSS support [S390] Support for s390 Pseudo Random Number Generator [S390] ETR support. [S390] noexec protection [S390] move crypto options and some cleanup. [S390] cio: Don't spam debug feature. [S390] Cleanup of CHSC event handling. [S390] cio: declare hardware structures packed. [S390] Add set_fs(USER_DS) to start_thread(). [S390] cio: Catch operand exceptions on stsch. [S390] Fix register usage description. [S390] kretprobe_trampoline_holder() in wrong section. [S390] Fix kprobes breakpoint handling. [S390] Update maintainers file. ... commit 9ad0830f307bcd8dc285cfae58998d43b21727f4 Author: David Howells Date: Tue Feb 6 13:45:51 2007 +0000 [PATCH] Keys: Fix key serial number collision handling Fix the key serial number collision avoidance code in key_alloc_serial(). This didn't use to be so much of a problem as the key serial numbers were allocated from a simple incremental counter, and it would have to go through two billion keys before it could possibly encounter a collision. However, now that random numbers are used instead, collisions are much more likely. This is fixed by finding a hole in the rbtree where the next unused serial number ought to be and using that by going almost back to the top of the insertion routine and redoing the insertion with the new serial number rather than trying to be clever and attempting to work out the insertion point pointer directly. This fixes kernel BZ #7727. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 768c242b30d9ec5581dd245e8289acb6b77815d1 Merge: e503606... a850790... Author: Linus Torvalds Date: Tue Feb 6 14:42:20 2007 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Minor cleanup [CIFS] Missing free in error path [CIFS] Reduce cifs stack space usage [CIFS] lseek polling returned stale EOF commit e503606c5b7687842beb8fca46b827606ae40c63 Merge: 76c3295... d390008... Author: Linus Torvalds Date: Tue Feb 6 14:35:30 2007 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (40 commits) [MIPS] Yosemite: Fix missing parens in SERIAL_READ_1 macro [MIPS] Fix warnings in run_uncached on 32bit kernel [MIPS] Comment fix [MIPS] MT: Nuke duplicate mips_mt_regdump() prototype. [MIPS] Alchemy: Fix PCI-memory access [MIPS] Move .set reorder out of conditional code [MIPS] Check FCSR for pending interrupts before restoring from a context. [MIPS] Jaguar ATX: Fix large number of warnings. [MIPS] Jaguar: Fix MAC address detection after platform_device conversion. [MIPS] SMTC: Make a bunch of functions and variables static. [MIPS] Use compat_sys_pselect6 [MIPS] SMTC: Cleanup idle hook invocation. [MIPS] SELinux: Add security hooks to mips-mt {get,set}affinity [MIPS] IRIX: Linux coding style cleanups. [MIPS] PB1100: Fix pile of warnings [MIPS] Alchemy: Fix bunch of warnings [MIPS] Whitespace cleanups. [MIPS] Alchemy: Fix bunch more warnings. [MIPS] Use ARRAY_SIZE macro when appropriate [MIPS] Fix some whitespace damage ... commit 76c329563c5b8663ef27eb1bd195885ab826cbd0 Author: Oleg Verych Date: Tue Feb 6 02:18:22 2007 +0100 [PATCH] kbuild: correctly skip tilded backups in localversion files Tildes as in path as in filenames are handled correctly now: only files, containing tilde '~', are backups, thus are not valid. [KJ]: Definition of `space' was removed, scripts/Kbuild.include has one. That definition was taken right from the GNU make manual, while Kbuild's version is original. Cc: Roman Zippel Cc: Bastian Blank Cc: Sam Ravnborg Signed-off-by: Oleg Verych Signed-off-by: Linus Torvalds commit 5de043f4bd11a9e0a3e8daec7d1905da575a76b7 Author: Oleg Verych Date: Tue Feb 6 02:18:21 2007 +0100 [PATCH] kbuild: improve option checking, Kbuild.include cleanup GNU binutils, root users, tmpfiles, external modules ro builds must be fixed to do the right thing now. Cc: Roman Zippel Cc: Sam Ravnborg Cc: Horst Schirmeier Cc: Jan Beulich Cc: Daniel Drake Cc: Andi Kleen Cc: Randy Dunlap Signed-off-by: Oleg Verych Signed-off-by: Linus Torvalds commit f6112ec27a8f0eee6c5a996f65c7bfd9457d9f85 Author: Oleg Verych Date: Tue Feb 6 02:18:20 2007 +0100 [PATCH] kbuild scripts: replace gawk, head, bc with shell, update Replacing overhead of using some (external) programs instead of good old `sh'. Cc: Roman Zippel Cc: Sam Ravnborg Cc: William Stearns Cc: Martin Schlemmer Signed-off-by: Oleg Verych Acked-by: Mark Lord Signed-off-by: Linus Torvalds commit a850790f6c903f1a89d0dbf953946d231df3fe6b Author: Steve French Date: Tue Feb 6 20:43:30 2007 +0000 [CIFS] Minor cleanup Missing tab. Missing entry in changelog Signed-off-by: Steve French commit d390008ebf42bdfda106e9de2b2d0abcc9858e26 Author: Ralf Baechle Date: Tue Feb 6 16:43:31 2007 +0000 [MIPS] Yosemite: Fix missing parens in SERIAL_READ_1 macro Signed-off-by: Ralf Baechle commit c55197eb549dc09a52b6d91e6f26709a6d6815e5 Author: Yoichi Yuasa Date: Tue Feb 6 10:59:22 2007 +0900 [MIPS] Fix warnings in run_uncached on 32bit kernel arch/mips/lib/uncached.c: In function 'run_uncached': arch/mips/lib/uncached.c:47: warning: comparison is always true due to limited range of data type arch/mips/lib/uncached.c:48: warning: comparison is always false due to limited range of data type arch/mips/lib/uncached.c:57: warning: comparison is always true due to limited range of data type arch/mips/lib/uncached.c:58: warning: comparison is always false due to limited range of data type Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 131c1a2b6eef87485f7e280817d97615ea2a1551 Author: Chris Dearman Date: Thu Feb 1 19:54:13 2007 +0000 [MIPS] Comment fix Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit be701306eba49c9157506d4bbe40dbed7969a915 Author: Ralf Baechle Date: Sun Feb 4 23:23:00 2007 +0000 [MIPS] MT: Nuke duplicate mips_mt_regdump() prototype. Signed-off-by: Ralf Baechle commit fd046eb5378f2bc59851fcbc91957d01529fc3db Author: Alexander Bigga Date: Thu Dec 21 11:25:19 2006 +0100 [MIPS] Alchemy: Fix PCI-memory access The problem was introduced in 2.6.18.3 with the casting of some 36bit-defines (PCI memory) in au1000.h to resource_size_t which may be u32 or u64 depending on the experimental CONFIG_RESOURCES_64BIT. With unset CONFIG_RESOURCES_64BIT, the pci-memory cannot be accessed because the ioremap in arch/mips/au1000/common/pci.c already used the truncated addresses. With set CONFIG_RESOURCES_64BIT, things get even worse, because PCI-scan aborts, due to resource conflict: request_resource() in arch/mips/pci/pci.c fails because the maximum iomem-address is 0xffffffff (32bit) but the pci-memory-start-address is 0x440000000 (36bit). To get pci working again, I propose the following patch: 1. remove the resource_size_t-casting from au1000.h again 2. make the casting in arch/mips/au1000/common/pci.c (it's allowed and necessary here. The 36bit-handling will be done in __fixup_bigphys_addr). With this patch pci works again like in 2.6.18.2, the gcc-compile warnings in pci.c are gone and it doesn't depend on CONFIG_EXPERIMENTAL. Signed-off-by: Alexander Bigga Signed-off-by: Ralf Baechle commit 37f26742437df885ddd72150ab352d0a931cd3a7 Author: Chris Dearman Date: Thu Feb 1 19:54:13 2007 +0000 [MIPS] Move .set reorder out of conditional code Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 6d6671066a311703bca1b91645bb1e04cc983387 Author: Chris Dearman Date: Thu Feb 1 19:54:13 2007 +0000 [MIPS] Check FCSR for pending interrupts before restoring from a context. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit b86b30f81c7601d9a410d2ce0c64d9ba50d673ae Author: Ralf Baechle Date: Tue Nov 7 09:23:57 2006 +0000 [MIPS] Jaguar ATX: Fix large number of warnings. Signed-off-by: Ralf Baechle commit 3d0f82aea19649a2fd1169cfe63a9b522355386b Author: Ralf Baechle Date: Tue Nov 7 09:25:51 2006 +0000 [MIPS] Jaguar: Fix MAC address detection after platform_device conversion. Signed-off-by: Ralf Baechle commit 5868756dcbf4b585c3c485e43fc36844c038cef5 Author: Ralf Baechle Date: Mon Feb 5 00:33:21 2007 +0000 [MIPS] SMTC: Make a bunch of functions and variables static. Signed-off-by: Ralf Baechle commit 99d233fa9bba1916050dd27d74530342af68b6db Author: Joseph S. Myers Date: Wed Jan 10 12:30:50 2007 +0000 [MIPS] Use compat_sys_pselect6 The N32 and O32 pselect6 syscalls need to use compat_sys_pselect6 to translate arguments from 32-bit to 64-bit layout. Signed-off-by: Joseph Myers Signed-off-by: Ralf Baechle commit 447deafba4de56bfa5ed5d5778e56afe55432394 Author: Ralf Baechle Date: Mon Feb 5 00:34:20 2007 +0000 [MIPS] SMTC: Cleanup idle hook invocation. Signed-off-by: Ralf Baechle commit 7418cb89af6f9e21660d60a4bd088a8b6fd11e81 Author: David Quigley Date: Wed Jun 28 09:36:46 2006 -0400 [MIPS] SELinux: Add security hooks to mips-mt {get,set}affinity This patch adds LSM hooks into the setaffinity and getaffinity functions for the mips architecture to enable security modules to control these operations between tasks with different security attributes. This implementation uses the existing task_setscheduler and task_getscheduler LSM hooks. Signed-Off-By: David Quigley Acked-by: Stephen Smalley Signed-off-by: James Morris Signed-off-by: Ralf Baechle commit c9170617510059c750cb91207b08f35001571a22 Author: Ralf Baechle Date: Mon Feb 5 00:05:08 2007 +0000 [MIPS] IRIX: Linux coding style cleanups. Signed-off-by: Ralf Baechle commit 3f21cdee412089ed7ea12c3650bfb4211cf0b1d0 Author: Ralf Baechle Date: Tue Nov 7 10:19:05 2006 +0000 [MIPS] PB1100: Fix pile of warnings CC arch/mips/au1000/pb1100/board_setup.o arch/mips/au1000/pb1100/board_setup.c: In function ‘board_setup’: arch/mips/au1000/pb1100/board_setup.c:104: warning: passing argument 1 of ‘readb’ makes pointer from integer without a cast arch/mips/au1000/pb1100/board_setup.c:105: warning: passing argument 1 of ‘readb’ makes pointer from integer without a cast arch/mips/au1000/pb1100/board_setup.c:105: warning: passing argument 2 of ‘writeb’ makes pointer from integer without a cast arch/mips/au1000/pb1100/board_setup.c:109: warning: passing argument 1 of ‘readb’ makes pointer from integer without a cast arch/mips/au1000/pb1100/board_setup.c:110: warning: passing argument 1 of ‘readb’ makes pointer from integer without a cast arch/mips/au1000/pb1100/board_setup.c:110: warning: passing argument 2 of ‘writeb’ makes pointer from integer without a cast arch/mips/au1000/pb1100/board_setup.c:51: warning: unused variable ‘sys_clksrc’ arch/mips/au1000/pb1100/board_setup.c:51: warning: unused variable ‘sys_freqctrl’ arch/mips/au1000/pb1100/board_setup.c:50: warning: unused variable ‘pin_func’ Signed-off-by: Ralf Baechle commit 786d7cdd06581773ee7913560838d6f4487d2d9f Author: Ralf Baechle Date: Tue Nov 7 09:58:30 2006 +0000 [MIPS] Alchemy: Fix bunch of warnings CC arch/mips/au1000/common/pci.o arch/mips/au1000/common/pci.c:42: warning: large integer implicitly truncated to unsigned type arch/mips/au1000/common/pci.c:43: warning: large integer implicitly truncated to unsigned type arch/mips/au1000/common/pci.c:49: warning: large integer implicitly truncated to unsigned type arch/mips/au1000/common/pci.c:50: warning: large integer implicitly truncated to unsigned type arch/mips/au1000/common/pci.c: In function ‘au1x_pci_setup’: arch/mips/au1000/common/pci.c:82: warning: ISO C90 forbids mixed declarations and code Signed-off-by: Ralf Baechle commit e0daad449c5195fa4552c60392eeee4e5c58d31c Author: Ralf Baechle Date: Mon Feb 5 00:10:11 2007 +0000 [MIPS] Whitespace cleanups. Signed-off-by: Ralf Baechle commit 722b05a0c1498ef12972bbd5084eded498d75fb4 Author: Ralf Baechle Date: Tue Nov 7 10:22:31 2006 +0000 [MIPS] Alchemy: Fix bunch more warnings. Signed-off-by: Ralf Baechle commit 25b8ac3ba46ee3d586a9c00c1771dca58314714e Author: Ahmed S. Darwish Date: Mon Feb 5 04:42:11 2007 +0200 [MIPS] Use ARRAY_SIZE macro when appropriate Signed-off-by: Ahmed S. Darwish Signed-off-by: Ralf Baechle commit 3e7f9b8254b82f7261b2c56ffaf864198c135ee5 Author: Jan Altenberg Date: Thu Jan 25 20:46:14 2007 +0100 [MIPS] Fix some whitespace damage Signed-off-by: Jan Altenberg Signed-off-by: Ralf Baechle commit 811d944901705b8c14b945ba51caff5e912bb9e3 Author: Mathieu Desnoyers Date: Sat Feb 3 23:16:51 2007 -0500 [MIPS] Add missing ifdef arch/mips/pmc-sierra/yosemite/setup.c early_serial_setup is only defined when CONFIG_SERIAL_8250 is set. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ralf Baechle commit 19487f1e8a288da0d84b48d086167cf328080938 Author: Atsushi Nemoto Date: Sun Feb 4 00:57:25 2007 +0900 [MIPS] Fix pb1200/irqmap.c and apply some missed patches pb1200/irqmap.c had been broken a while due to non-named initializer and had missed some recent IRQ related changes. Apply these commits to this file. [MIPS] IRQ cleanups commit 1603b5aca4f15b34848fb5594d0c7b6333b99144 [MIPS] use generic_handle_irq, handle_level_irq, handle_percpu_irq commit 1417836e81c0ab8f5a0bfeafa90d3eaa41b2a067 [MIPS] Compile __do_IRQ() when really needed commit e77c232cfc6e1250b2916a7c69225d6634d05a49 Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 06396094b2fad0c429cde795dac4a72bc4d32bf2 Author: Ralf Baechle Date: Fri Feb 2 11:13:35 2007 +0000 [MIPS] Do not allow oprofile to be enabled on SMTC. Oprofile cannot work on SMTC due to the limited number of counters. Signed-off-by: Ralf Baechle commit 4a969e1e223d517dd568c84ba3a66542a72c3680 Author: Robert P. J. Day Date: Thu Feb 1 05:45:14 2007 -0500 [MIPS] Remove superfluous "ifdef CONFIG_KGDB". Given that the Makefiles involved already have conditional compilation of the form: obj-$(CONFIG_KGDB) += dbg_io.o there seems to be little value for the dbg_io.c source files to check that config variable yet again. Signed-off-by: Robert P. J. Day Signed-off-by: Ralf Baechle commit be6e143741226ca59b24e6760de4578a5d4f98d7 Author: Ralf Baechle Date: Tue Feb 6 16:53:17 2007 +0000 [MIPS] vpe_elfload and vpe_run are only used locally, make them static. Signed-off-by: Ralf Baechle commit 418451c17870e56a176aeb4be1bed810f634fb5a Author: Ralf Baechle Date: Tue Feb 6 16:53:16 2007 +0000 [MIPS] SMTC: remove unused atomic_postclear Signed-off-by: Ralf Baechle commit 69a6c312e5ebb2e929ceb67e6246e2d9314f1d29 Author: Atsushi Nemoto Date: Wed Jan 24 01:21:05 2007 +0900 [MIPS] Move some kernel globals from asm file to C file. This get rid of some undesirable hole in BSS section due to random order of placement. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 907e193ea798b3f73a71a2a01f938b69fd53b26d Author: Atsushi Nemoto Date: Tue Jan 23 22:29:06 2007 +0900 [MIPS] Remove _fdata from asm-mips/sections.h There is no _fdata symbol in kernel. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 130e2fb78305b148b15cd3b5129596844c5f5e4f Author: Ralf Baechle Date: Tue Feb 6 16:53:15 2007 +0000 [MIPS] Kconfig: Provide sane NR_CPUS defaults for more configurations Signed-off-by: Ralf Baechle commit 24d55728dc96d2cb8f49064e012559300eb97610 Author: Yoichi Yuasa Date: Thu Jan 18 22:27:11 2007 +0900 [MIPS] vr41xx: Use symbolic names for IRQ numers Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 70d21cdeef6331e67ed87262c894cd6601f0dccc Author: Atsushi Nemoto Date: Mon Jan 15 00:07:25 2007 +0900 [MIPS] use name instead of typename for each irq_chip The "typename" field was obsoleted by the "name" field. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit ea6e942bea55b574bf2118bce8ee73185e754cfb Author: Atsushi Nemoto Date: Tue Jan 16 23:29:11 2007 +0900 [MIPS] Kconfig: Move some entries to appropriate menu Currently KEXEC is in "Machine selection", SECCOMP, PM, APM are in "Executable file formats" menu. Move KEXEC and SECCOMP to "Kernel type" and PM, APM to new "Power management options" menu. Also replace "config PM" with kernel/power/Kconfig. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9a0ad9e9d8cae1087fe7b0b137e1c84d12dc0c76 Author: Yoichi Yuasa Date: Thu Jan 11 23:53:18 2007 +0900 [MIPS] vr41xx: add MACINT controls This patch has added MACINT controls. They are necessary for VR4133 ethernet driver. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 6f284a2ce7b8bc49cb8455b1763357897a899abb Author: Franck Bui-Huu Date: Wed Jan 10 09:44:05 2007 +0100 [MIPS] FLATMEM: introduce PHYS_OFFSET. The old code was assuming that min_low_pfn was always 0. This means that platforms having a big hole at their memory start paid the price of wasting some memory for the allocation of unused entries in mem_map[]. This patch prevents this waste. It introduces PHYS_OFFSET define which is the start of the physical memory and uses it wherever needed. Specially when converting physical/virtual addresses into virtual/physical ones. Currently all platforms defines PHYS_OFFSET to 0. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit db84dc61552ae0d198a8133d28b80c3838930ba8 Author: Franck Bui-Huu Date: Wed Jan 10 09:44:04 2007 +0100 [MIPS] Setup min_low_pfn/max_low_pfn correctly This patch makes a better usage of these two globals. 'min_low_pfn' is now correctly setup for all configs, which allow us to rely on it in boot memory code init. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit a583158c9ce822c96a718fbf877cec1e5f9ad75d Author: Atsushi Nemoto Date: Mon Dec 18 00:07:40 2006 +0900 [MIPS] Unify memset.S The 32-bit version and 64-bit version are almost equal. Unify them. This makes further improvements (for example, supporting CDEX, etc.) easier. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c44e8d5e47b8ba672440b92eab0735628469116c Author: Atsushi Nemoto Date: Sat Dec 30 00:43:59 2006 +0900 [MIPS] prom_free_prom_memory cleanup Current prom_free_prom_memory() implementations are almost same as free_init_pages(), or no-op. Make free_init_pages() extern (again) and make prom_free_prom_memory() use it. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 2fa7937bd8922e1fe4aae6a45e7e787fa45d6043 Author: Atsushi Nemoto Date: Sun Jan 14 23:41:42 2007 +0900 [MIPS] Make I8259A_IRQ_BASE customizable Move I8259A_IRQ_BASE from asm/i8259.h to asm/mach-generic/irq.h and make it really customizable. And remove I8259_IRQ_BASE declared on some platforms. Currently only NEC_CMBVR4133 is using custom I8259A_IRQ_BASE value. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 97dcb82de6cc99a5669eb8e342efc24cceb1e77e Author: Atsushi Nemoto Date: Mon Jan 8 02:14:29 2007 +0900 [MIPS] Define MIPS_CPU_IRQ_BASE in generic header The irq_base for {mips,rm7k,rm9k}_cpu_irq_init() are constant on all platforms and are same value on most platforms (0 or 16, depends on CONFIG_I8259). Define them in asm-mips/mach-generic/irq.h and make them customizable. This will save a few cycle on each CPU interrupt. A good side effect is removing some dependencies to MALTA in generic SMTC code. Although MIPS_CPU_IRQ_BASE is customizable, this patch changes irq mappings on DDB5477, EMMA2RH and MIPS_SIM, since really customizing them might cause some header dependency problem and there seems no good reason to customize it. So currently only VR41XX is using custom MIPS_CPU_IRQ_BASE value, which is 0 regardless of CONFIG_I8259. Testing this patch on those platforms is greatly appreciated. Thank you. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit b6ec8f069bf202d2bd888aa9137b2cc3aad4c573 Author: Atsushi Nemoto Date: Mon Jan 8 00:20:24 2007 +0900 [MIPS] Remove unused rm9k_cpu_irq_disable() rm9k_cpu_irq_disable() is unused since commit 1603b5aca4f15b34848fb5594d0c7b6333b99144. Remove it. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 549ae0ac3d574a682e82b02e79259a65445a675b Author: Wendy Cheng Date: Tue Feb 6 03:52:16 2007 -0500 [GFS2] nfsd readdirplus assertion failure Glock assertion failure found in '07 NFS connectathon. One of the NFSDs is doing a "readdirplus" procedure call. It passes the logic into gfs2_readdir() where it obtains its directory inode glock. This is then followed by filehandle construction that invokes lookup code. It hits the assertion failure while trying to obtain the inode glock again inside gfs2_drevalidate(). This patch bypasses the recursive glock call if caller already holds the lock. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit 51099005ab8e09d68a13fea8d55bc739c1040ca6 Author: Jan Beulich Date: Mon Feb 5 18:53:04 2007 -0800 [IA64] swiotlb abstraction (e.g. for Xen) Add abstraction so that the file can be used by environments other than IA64 and EM64T, namely for Xen. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 563aaf064f3776623ff5e7aef511ac2eb7e5f0bb Author: Jan Beulich Date: Mon Feb 5 18:51:25 2007 -0800 [IA64] swiotlb cleanup - add proper __init decoration to swiotlb's init code (and the code calling it, where not already the case) - replace uses of 'unsigned long' with dma_addr_t where appropriate - do miscellaneous simplicfication and cleanup Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 93fbff63e62b87fe450814db41f859d60b048fb8 Author: Jan Beulich Date: Mon Feb 5 18:49:45 2007 -0800 [IA64] make swiotlb use bus_to_virt/virt_to_bus Convert all phys_to_virt/virt_to_phys uses to bus_to_virt/virt_to_bus, as is what is meant and what is needed in (at least) some virtualized environments like Xen. Signed-off-by: Jan Beulich Acked-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit cde14bbfb3aa79b479db35bd29e6c083513d8614 Author: Jan Beulich Date: Mon Feb 5 18:46:40 2007 -0800 [IA64] swiotlb bug fixes This patch fixes - marking I-cache clean of pages DMAed to now only done for IA64 - broken multiple inclusion in include/asm-x86_64/swiotlb.h - missing call to mark_clean in swiotlb_sync_sg() - a (perhaps only theoretical) issue in swiotlb_dma_supported() when io_tlb_end is exactly at the end of memory Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 86afa9eb88af2248bcc91d5b3568c63fdea65d6c Author: Fenghua Yu Date: Mon Feb 5 16:07:57 2007 -0800 [IA64] Hook up getcpu system call for IA64 getcpu system call returns cpu# and node# on which this system call and its caller are running. This patch hooks up its implementation on IA64. Signed-off-by: Fenghua Yu Signed-off-by: Tony Luck commit 524fd988bb83153ddc9cfea867129eb6efb7ac23 Author: Bob Picco Date: Mon Feb 5 16:20:08 2007 -0800 [IA64] clean up sparsemem memory_present call Eliminate arch specific memory_present call ia64 NUMA by utilizing sparse_memory_present_with_active_regions. Acked-by: Mel Gorman Signed-off-by: Bob Picco Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit f1c0afa2e8802c01cf82c915e2bb3cb2a81570d4 Author: George Beshers Date: Mon Feb 5 16:20:04 2007 -0800 [IA64] show_mem() for IA64 sparsemem NUMA On the ia64 architecture only this patch upgrades show_mem() for sparse memory to be the same as it was for discontig memory. It has been shown to work on NUMA and flatmem architectures. Signed-off-by: George Beshers Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 671496affdb5228786896864c3f900f66563e8c1 Author: Jan Beulich Date: Mon Feb 5 16:20:03 2007 -0800 [IA64] missing exports hwsw_sync_... Add missing exports to allow several drivers to be built as module with CONFIG_IA64_HP_ZX1_SWIOTLB. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 71120061f271f00d8280659bf12e065ca6533d4d Author: Kirill Korotaev Date: Mon Feb 5 16:20:00 2007 -0800 [IA64] virt_to_page() can be called with NULL arg It does not return NULL when arg is NULL. Signed-off-by: Alexey Kuznetsov Signed-off-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit d00195ebc18049f067c8e389c186aa6f5d2b659f Author: Kirill Korotaev Date: Mon Feb 5 16:19:59 2007 -0800 [IA64] alignment bug in ldscript Occasionally the FSYS_RETURN patch list can have an odd length, causing other data structures to get out of alignment. In OpenVZ it is odd and we get misaligned kernel image, which does not boot. Signed-off-by: Alexey Kuznetsov Signed-off-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 139b830477ccdca21b68c40f9a83ec327e65eb56 Author: Bob Picco Date: Tue Jan 30 02:11:09 2007 -0800 [IA64] register memory ranges in a consistent manner While pursuing and unrelated issue with 64Mb granules I noticed a problem related to inconsistent use of add_active_range. There doesn't appear any reason to me why FLATMEM versus DISCONTIG_MEM should register memory to add_active_range with different code. So I've changed the code into a common implementation. The other subtle issue fixed by this patch was calling add_active_range in count_node_pages before granule aligning is performed. We were lucky with 16MB granules but not so with 64MB granules. count_node_pages has reserved regions filtered out and as a consequence linked kernel text and data aren't covered by calls to count_node_pages. So linked kernel regions wasn't reported to add_active_regions. This resulted in free_initmem causing numerous bad_page reports. This won't occur with this patch because now all known memory regions are reported by register_active_ranges. Acked-by: Mel Gorman Signed-off-by: Bob Picco Acked-by: Simon Horman Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit d1598e05faa11d9f04e0a226122dd57674fb1dab Author: Jan Beulich Date: Wed Jan 3 09:26:21 2007 +0000 [IA64] Enable SWIOTLB only when needed Don't force CONFIG_SWIOTLB on when not actually needed (i.e. HP_ZX1 and SGI_SN2). Signed-off-by: Jan Beulich Signed-off-by: Tony Luck commit 980dbfd421c8d33edbd2fbc8f5a6233ccbefb052 Author: Russ Anderson Date: Mon Jan 8 16:05:08 2007 -0600 [IA64-SGI] Check for TIO errors on shub2 Altix The shub2 error interrupt handler must check for TIO errors. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit f43691ef8a816018a0294c5a9fa9d22512886c49 Author: Alex Williamson Date: Mon Jan 15 09:33:55 2007 -0700 [IA64] remove bogus prototype ia64_esi_init() This function doesn't exist. Signed-off-by: Alex Williamson Signed-off-by: Tony Luck commit 451fe00cf7fd48ba55acd1c8b891e7a65e1b3f81 Author: Alex Williamson Date: Wed Jan 24 22:48:04 2007 -0700 [IA64] Clear IRQ affinity when unregistered When we offline a CPU, migrate_irqs() tries to determine whether the affinity bits of the IRQ descriptor match any of the remaining online CPUs. If not, it fixes up the interrupt to point somewhere else. Unfortunately, if an IRQ is unregistered the IRQ descriptor may still have affinity to the CPU being offlined, but the no_irq_chip handler doesn't provide a set_affinity function. This causes us to hit the WARN_ON in migrate_irqs(). The easiest solution seems to be setting all the bits in the affinity mask when the last interrupt is removed from the vector. I hit this on an older kernel with Xen/ia64 using driver domains (so it probably needs more testing on upstream). Xen essentially uses the bind/unbind interface in sysfs to unregister a device from a driver and thus unregister the interrupt. Signed-off-by: Alex Williamson Signed-off-by: Tony Luck commit 06f87adff12e52429390b22c57443665b073cd82 Author: Len Brown Date: Fri Jan 26 00:38:53 2007 -0500 [IA64] fix ACPI Kconfig issues All IA64 systems except IA64_HP_SIM include ACPI and PCI. So prevent IA64 Kconfigs that try to do irritating things like building PCI without building ACPI. Signed-off-by: Len Brown Signed-off-by: Tony Luck commit c2c77fe8df3e0322a613ba1540910632ad14d96d Author: Bernhard Walle Date: Sun Jan 28 13:47:02 2007 +0100 [IA64] Fix NULL-pointer dereference in ia64_machine_kexec() This patch fixes a NULL-pointer dereference in ia64_machine_kexec(). The variable ia64_kimage is set in machine_kexec_prepare() which is called from sys_kexec_load(). If kdump wasn't configured before, ia64_kimage is NULL. machine_kdump_on_init() passes ia64_kimage() to machine_kexec() which assumes a valid value. The patch also adds a few sanity checks for the image to simplify debugging of similar problems in future. Signed-off-by: Bernhard Walle Signed-off-by: Tony Luck commit 87f76d3aafe5b5e0a1d6d857088a0263b35afa6b Author: bibo,mao Date: Tue Jan 30 11:02:19 2007 +0800 [IA64] find thread for user rbs address I encountered one problem when running ptrace test case the situation is this: traced process's syscall parameter needs to be accessed, but for sys_clone system call with clone_flag (CLONE_VFORK | CLONE_VM | SIGCHLD) parameter. This syscall's parameter accessing result is wrong. The reason is that vforked child process mm point is the same, but tgid is different. Without this patch find_thread_for_addr will return vforked process if vforked process is also stopped, but not the thread which calls vfork syscall. Signed-off-by: Tony Luck commit ae0af3e3462fdada42deba30479aba70c6cf8b72 Author: Aron Griffis Date: Mon Feb 5 13:54:31 2007 -0800 [IA64] use snprintf() on features field of /proc/cpuinfo Some patches have turned up on xen-devel recently to convert strcpy() to safer alternatives and so forth. While reviewing those patches I noticed that the features string building could be cleaned up. This patch uses snprintf() instead of strcpy() and direct character pointer manipulation. It makes the features string building safe and gets rid of the special case for features output in show_cpuinfo() Additionally I removed the (int) cast of ARRAY_SIZE, which seems to serve no purpose. Signed-off-by: Aron Griffis Signed-off-by: Tony Luck commit 90f9d70a582c02f50b4dd847166cd5b037219891 Author: bibo,mao Date: Wed Jan 31 17:50:31 2007 +0800 [IA64] enable singlestep on system call As is pointed out in http://www.gelato.org/community/view_linear.php?id=1_1036&from=authors&value=Ian%20Wienand#1_1039, if single step on break instruction, the break fault has higher priority than the single-step trap. When the break fault handler is entered, it advances the IP by 1 instruction so break instruction single-stepping is skipped, actually it is next instruction which is single stepped. This patch modifies this, it adds TIF_SINGLESTEP bit for thread flags, and generate a fake sigtrap when single stepping break instruction. Test case in attachment can verify this. Any comments is welcome. Signed-off-by: bibo, mao Signed-off-by: Tony Luck commit c237508afa5d47282d3047784864013eebdc68ab Author: Horms Date: Mon Feb 5 13:49:10 2007 -0800 [IA64] kexec: Move machine_shutdown from machine_kexec.c to process.c This moves the ia64 implementation of machine_shutdown() from machine_kexec.c to process.c, which is in keeping with the implelmentation on other architectures, and seems like a much more appropriate home for it. Signed-off-by: Simon Horman Signed-off-by: Tony Luck commit 4d284cac76d0bfebc42d76b428c4e44d921200a9 Author: Heiko Carstens Date: Mon Feb 5 21:18:53 2007 +0100 [S390] Avoid excessive inlining. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 162e006ef59266b9ebf34e3d15ca1f3d9ee956d7 Author: Heiko Carstens Date: Mon Feb 5 21:18:41 2007 +0100 [S390] Mark kernel text section read-only. Set read-only flag in the page table entries for the kernel image text section. This will catch all instruction caused corruptions withing the text section. Instruction replacement via kprobes still works, since it bypasses now dynamic address translation. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ab14de6c37fae22911ba99f4171613e6d758050b Author: Heiko Carstens Date: Mon Feb 5 21:18:37 2007 +0100 [S390] Convert memory detection into C code. Hopefully this will make it more maintainable and less error prone. Code makes use of search_exception_tables(). Since it calls this function before the kernel exeception table is sorted, there is an early call to sort_main_extable(). This way it's easy to use the already present infrastructure of fixup sections. Also this would allows to easily convert the rest of head[31|64].S into C code. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 31ee4b2f40994e8b21691f85cdd4052551a789b7 Author: Martin Schwidefsky Date: Mon Feb 5 21:18:31 2007 +0100 [S390] Calibrate delay and bogomips. Preset the bogomips number to the cpu capacity value reported by store system information in SYSIB 1.2.2. This value is constant for a particular machine model and can be used to determine relative performance differences between machines. Signed-off-by: Martin Schwidefsky commit 31cb4bd31a48f62105d037ad53192b94d4c08f53 Author: Michael Holzheu Date: Mon Feb 5 21:18:29 2007 +0100 [S390] Hypervisor filesystem (s390_hypfs) for z/VM This is an extension of the already existing hypfs for LPAR (DIAG 204). Data returned by DIAG 2fc is exported using the s390_hypfs when Linux is running under z/VM. Information about cpus and memory is provided. Data is put into different virtual files which can be accessed from user space. All values are represented as ASCII strings Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit cced1dd42ebcebc7fa7f02fe487e48aa71752401 Author: Michael Holzheu Date: Mon Feb 5 21:18:26 2007 +0100 [S390] Add crypto support for 3592 tape devices 3592 tape devices are able to write data encrpyted on tape mediums. This z/Linux device driver support includes the following functions: * ioctl to switch on/off encryption * ioctl to query encryption status of drive * ioctls to set and query key encrypting keys (kekls) * long busy interrupt handling Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit fe355b7f1c7400cbb71762a1237461be03f88265 Author: Hongjie Yang Date: Mon Feb 5 21:18:24 2007 +0100 [S390] boot from NSS support Add support to boot from a named saved segment (NSS). Signed-off-by: Hongjie Yang Signed-off-by: Martin Schwidefsky commit 1b2782948997cf5a0d1747de13d43ba7dfa7c543 Author: Jan Glauber Date: Mon Feb 5 21:18:22 2007 +0100 [S390] Support for s390 Pseudo Random Number Generator Starting with the z9 the CPU Cryptographic Assist Facility comes with an integrated Pseudo Random Number Generator. The generator creates random numbers by an algorithm similar to the ANSI X9.17 standard. The pseudo-random numbers can be accessed via a character device driver node called /dev/prandom. Similar to /dev/urandom any amount of bytes can be read from the device without blocking. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit d54853ef8cb17296ac7bce9c77430fb7c80532d0 Author: Martin Schwidefsky Date: Mon Feb 5 21:18:19 2007 +0100 [S390] ETR support. This patch adds support for clock synchronization to an external time reference (ETR). The external time reference sends an oscillator signal and a synchronization signal every 2^20 microseconds to keep the TOD clocks of all connected servers in sync. For availability two ETR units can be connected to a machine. If the clock deviates for more than the sync-check tolerance all cpus get a machine check that indicates that the clock is out of sync. For the lovely details how to get the clock back in sync see the code below. Signed-off-by: Martin Schwidefsky commit c1821c2e9711adc3cd298a16b7237c92a2cee78d Author: Gerald Schaefer Date: Mon Feb 5 21:18:17 2007 +0100 [S390] noexec protection This provides a noexec protection on s390 hardware. Our hardware does not have any bits left in the pte for a hw noexec bit, so this is a different approach using shadow page tables and a special addressing mode that allows separate address spaces for code and data. As a special feature of our "secondary-space" addressing mode, separate page tables can be specified for the translation of data addresses (storage operands) and instruction addresses. The shadow page table is used for the instruction addresses and the standard page table for the data addresses. The shadow page table is linked to the standard page table by a pointer in page->lru.next of the struct page corresponding to the page that contains the standard page table (since page->private is not really private with the pte_lock and the page table pages are not in the LRU list). Depending on the software bits of a pte, it is either inserted into both page tables or just into the standard (data) page table. Pages of a vma that does not have the VM_EXEC bit set get mapped only in the data address space. Any try to execute code on such a page will cause a page translation exception. The standard reaction to this is a SIGSEGV with two exceptions: the two system call opcodes 0x0a77 (sys_sigreturn) and 0x0aad (sys_rt_sigreturn) are allowed. They are stored by the kernel to the signal stack frame. Unfortunately, the signal return mechanism cannot be modified to use an SA_RESTORER because the exception unwinding code depends on the system call opcode stored behind the signal stack frame. This feature requires that user space is executed in secondary-space mode and the kernel in home-space mode, which means that the addressing modes need to be switched and that the noexec protection only works for user space. After switching the addressing modes, we cannot use the mvcp/mvcs instructions anymore to copy between kernel and user space. A new mvcos instruction has been added to the z9 EC/BC hardware which allows to copy between arbitrary address spaces, but on older hardware the page tables need to be walked manually. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 86aa9fc2456d8a662f299a70bdb70987209170f0 Author: Jan Glauber Date: Mon Feb 5 21:18:14 2007 +0100 [S390] move crypto options and some cleanup. This patch moves the config options for the s390 crypto instructions to the standard "Hardware crypto devices" menu. In addition some cleanup has been done: use a flag for supported keylengths, add a warning about machien limitation, return ENOTSUPP in case the hardware has no support, remove superfluous printks and update email addresses. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 347d59d7e9739ff2acbaa751b6225ecb335c3f29 Author: Cornelia Huck Date: Mon Feb 5 21:17:56 2007 +0100 [S390] cio: Don't spam debug feature. Lower priority of "Blacklisted device detected" messages so we don't overwrite more useful messages. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 184357a59669e2b1f9bb684c598458717207793b Author: Peter Oberparleiter Date: Mon Feb 5 21:17:42 2007 +0100 [S390] Cleanup of CHSC event handling. Change CHSC event handling to be more easily extensible. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 0f008aa300f1a48144a1b988a85db9d330f884b7 Author: Peter Oberparleiter Date: Mon Feb 5 21:17:40 2007 +0100 [S390] cio: declare hardware structures packed. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 9b241cc862d55038c43feee86670cb7d86cf01c1 Author: Heiko Carstens Date: Mon Feb 5 21:17:38 2007 +0100 [S390] Add set_fs(USER_DS) to start_thread(). Currently works anyway since search_binary_handler has a set_fs(USER_DS). But start_thread() is the place where this should be done. Following all other architectures... Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 758976f9a55cb22ddc602a0690d67f9546e3e43f Author: Cornelia Huck Date: Mon Feb 5 21:17:36 2007 +0100 [S390] cio: Catch operand exceptions on stsch. If we have a subchannel id which has been generated via for_each_subchannel(), it might contain an invalid subchannel set id. We need to catch the ensuing operand exception by using stsch_err() instead of stsch() in all possible cases. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit d8c351a97e492dcf24021a0875bf138bfa1374f9 Author: Heiko Carstens Date: Mon Feb 5 21:17:34 2007 +0100 [S390] Fix register usage description. Fix description of register usage as pointed out by Andreas Krebbel. Since this document is completely outdated and would need a lot of fixing, it might be worth considering to get rid of it... Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d42335a33b2ca2406d57bb8f0cf00adbdda8cede Author: Heiko Carstens Date: Mon Feb 5 21:17:32 2007 +0100 [S390] kretprobe_trampoline_holder() in wrong section. kretprobe_trampoline_holder() is in kprobes section but used to register a kprobe in arch_init_kprobes(). Hence register_kprobe() and therefore arch_init_kprobes() will fail. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 35df8d53f5c951ac0cd79f1084e6787ca5980207 Author: Heiko Carstens Date: Mon Feb 5 21:17:29 2007 +0100 [S390] Fix kprobes breakpoint handling. In case of an illegal op the die notifier gets called with DIE_TRAP instead of DIE_BPT first. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d58140cc18b3d69e86dead47aab5c838c08dc37e Author: Martin Schwidefsky Date: Mon Feb 5 21:17:27 2007 +0100 [S390] Update maintainers file. Use the new linux-s390@vger.kernel.org mailing list instead of linux-390@vm.marist.edu. Signed-off-by: Martin Schwidefsky commit 336c340b682daa283acf9202a07c4fd5c28e53a5 Author: Horst Hummel Date: Mon Feb 5 21:17:24 2007 +0100 [S390] dasd: fix unconditional reserve handling. The reserve/release IOCTLs sometimes do not work. If second system does a 'steal lock' the pending unit check (Format 3 Msg F) is delivered. Since ERP is disabled for reserve/release, the IOCTL call fails. We have to allow basic ERP (retries) for reserve/release IOCTLs. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky commit db2738197b52f02f4c599c1ae3f66ae1894406cd Author: Horst Hummel Date: Mon Feb 5 21:17:22 2007 +0100 [S390] Remove dasd_ccw_log function. Logging of relevant information is already done by disciplines dump_sense function. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky commit c48e09131bd7c632c80a3245688d2d29dbc4f6b5 Author: Heiko Carstens Date: Mon Feb 5 21:17:20 2007 +0100 [S390] Small barrier() and cpu_relax() cleanup. cpu_relax() has barrier() semantics hence there is no need to use both of them in conjunction in sclp_sync_wait(). Also change cpu_relax() so it's more obvious that it has barrier semantics. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 1125b4640fea29aafe9bf24672e2da9672f6592e Author: Cornelia Huck Date: Mon Feb 5 21:17:18 2007 +0100 [S390] cio: Use device_{create,remove}_bin_file. Create/remove the channel measurement binary files with device_{create,remove}_bin_file instead of sysfs_{create,remove}_bin_file. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit c59d744bd8a0e283daf6726881e4c9aa4bd25261 Author: Heiko Carstens Date: Mon Feb 5 21:17:16 2007 +0100 [S390] sclp: don't call local_bh_disable/_local_bh_enable if in_interrupt() local_bh_disable/_local_bh_enable must not be called if in_irq() is true. Besides that if in_interrupt() is true bottom halves are disabled anyway. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 444f0e5489e7ac4bca5c4748d7d846c352a5cd03 Author: Gerald Schaefer Date: Mon Feb 5 21:17:11 2007 +0100 [S390] Show loaded DCSS segments under /proc/iomem. Currently loaded DCSS segments are now listed in /proc/iomem with their name followed by a trailing "(DCSS)". Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 18374d376c7eb30b6359759e767cd99397b377d2 Author: Cornelia Huck Date: Mon Feb 5 21:17:09 2007 +0100 [S390] cio: Restart path verification after unsolicited interrupt. If we try to start path verification when an unsolicited interrupt is already pending, stctl shows status pending and we delay path verification again. We need to check for the doverify bit when the unsolicited interrupt comes in and then do path verification. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit b075083f35309c4f3e50886d6f31a3a0e07a29b5 Author: Heiko Carstens Date: Mon Feb 5 21:17:07 2007 +0100 [S390] Fix FCP dump feature detection. FCP dump feature detection works only if the sclp command in head.S was succesful. Since the sclp command is skipped if diag260 works, we don't have any dump feature detection anymore. Bug was introduced with d57de5a36791cb1b7285649c62f183b0d3505f7d. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e3c699b38ef3c59521fdd1732efcaaa789d81440 Author: Stefan Weinhuber Date: Mon Feb 5 21:17:04 2007 +0100 [S390] dasd: fix bug in dasd initialization cleanup The initialization of the dasd_eer code is one of the last steps of the dasd driver initialization. When initialization fails in one of the earlier steps, the dasd_exit function is called to clean up what has been done so far. So the dasd_eer_exit function may be called, although the dasd_eer_init function wasn't called before and dasd_eer_exit tries to unregister a misc device that wasn't registered, which results in a BUG. Make sure that dasd_eer_exit can be called without initialization. Use a dynamically allocated struct miscdevice instead of a static one, so we only try to unregister the device if it exists and was actually registered. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit dbd8ae63065189b12c46bdc58799dc353e4b3a53 Author: Peter Oberparleiter Date: Mon Feb 5 21:17:00 2007 +0100 [S390] sclp: invalid handling of temporary 'not operational' status Requests are aborted when the sclp interface reports 'not operational' even though they may still be active at the sclp, leading to concurrent writes to request memory by both the kernel and the sclp interface. Do not abort requests for which the sclp interface reports not operational status during request retry. Signed-off-by: Peter Oberparleiter 5A Signed-off-by: Martin Schwidefsky commit 3b0b4af2c7593af6dfe92afa1033033c4746ec11 Author: Heiko Carstens Date: Mon Feb 5 21:16:58 2007 +0100 [S390] Simplify virt_to_phys. No need to use lrag in 64 bit addressing mode since lra will do the same. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 32c5b050927c515cea4083eb8f3a7177dc4279a1 Author: Cornelia Huck Date: Mon Feb 5 21:16:56 2007 +0100 [S390] cio: Remove check for ssd in chpids_show(). Since ssd_info is now available before the subchannel is registered, we don't need to check whether it is available. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit bda3563fb28e3a4260ac3566cf11700792a336bb Author: Christian Borntraeger Date: Mon Feb 5 21:16:54 2007 +0100 [S390] cpcmd with vmalloc addresses. Change the bounce buffer logic of cpcmd. diag8 needs _real_ memory below 2GB. Therefore vmalloced data does not work. As the data might cross a page boundary, we cannot use virt_to_page either. The solution is to use virt_to_page only in the check for a bounce buffer. There was a redundant check for response==NULL. response < 2GB contains this check as well. I also removed the rlen==0 check, since rlen=0 and response!=NULL would be a caller bug and response==NULL is already checked. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 60383201c2c155fae2aaffd483d09eb4198b6356 Author: Heiko Carstens Date: Mon Feb 5 21:16:52 2007 +0100 [S390] Remove pointless/unreliable kernel messages. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b0f1779a878cf15b07181ef31394ecd33b40c470 Author: Akinobu Mita Date: Mon Feb 5 21:16:49 2007 +0100 [S390] Check the return value of kthread_run(). Signed-off-by: Akinobu Mita Signed-off-by: Martin Schwidefsky commit 2b67fc46061b2171fb8fbb55d1ac717abd533569 Author: Heiko Carstens Date: Mon Feb 5 21:16:47 2007 +0100 [S390] Get rid of a lot of sparse warnings. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 55dff5224abeb734b12c1661c34ccf534955bee7 Author: Heiko Carstens Date: Mon Feb 5 21:16:44 2007 +0100 [S390] Move init_irq_proc to the other irq related functions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9473252f20e8482464415d9030b3957b5593796d Author: Horms Date: Mon Feb 5 10:17:38 2007 +0900 [IA64] add newline to PAL-code warning message Signed-off-by: Simon Horman Signed-off-by: Tony Luck commit abac08dbb4739f417f570e5bdf03af36150b28c3 Author: Horms Date: Mon Feb 5 10:16:20 2007 +0900 [IA64] kexec: Remove inline declaration of efi_get_pal_addr() Remove the Remove inline declaration of efi_get_pal_addr() as it is declared in linux/efi.h. Signed-Off-By: Simon Horman Signed-off-by: Tony Luck commit 8a697d0a4c8e7ed51cf71a467ad59c25bfb85b44 Author: Horms Date: Mon Feb 5 10:17:22 2007 +0900 [IA64] kexec: Minor enhancement to includes in crash.c linux/uaccess.h was being included, but it seems that really the following includes are needed. asm/page.h: for __va() and PAGE_SHIFT asm/uaccess.h: for copy_to_user() I guess that linux/uaccess.h pulls in both asm/page.h and asm/uaccess.h. I notices this while backporting the code to xen's linux-2.6.16.33, which does not have linux/uaccess.h. I'm posting it as I think it is a correct, though somewhat cosmetic fix. Signed-off-by: Simon Horman Signed-off-by: Tony Luck commit 233c2f99d6605343fa4a4c68560a4f74882b2693 Author: Horms Date: Mon Feb 5 11:05:29 2007 +0900 [IA64] kexec: typo in the saved_max_pfn description in contig.c Fix a typo in the saved_max_pfn description in contig.c Signed-off-by: Simon Horman Signed-off-by: Tony Luck commit 475c63bded322545d1e9ccc5930c8903d2c97c4c Author: Horms Date: Mon Feb 5 10:59:03 2007 +0900 [IA64] Zero size /proc/vmcore on ia64 Set saved_max_pfn when discontig memory is in use. This sets up saved_max_pfn when disctontig memory is in use. This mirrors the code for contig memory. This patch does not entirely solve the problem of making vmcore work, however it does appear to be neccessary. Please consider applying. Signed-off-by: Simon Horman Signed-off-by: Tony Luck commit bcb9b99d1fb6a1cbe592f131dc95450d2f18c91f Author: Magnus Damm Date: Mon Feb 5 15:43:42 2007 +0900 [IA64] kexec: Fix CONFIG_SMP=n compilation Kexec support for 2.6.20 on ia64 does not build properly using a config made up by CONFIG_SMP=n and CONFIG_HOTPLUG_CPU=n: Signed-off-by: Magnus Damm Acked-by: Simon Horman Acked-by: Jay Lan Signed-off-by: Tony Luck commit a34fbc6363256387372331000462691bc4b3f5a9 Author: Patrick Caulfield Date: Thu Feb 1 16:46:33 2007 +0000 [DLM] fix softlockup in dlm_recv This patch stops the dlm_recv workqueue from busy-waiting when a node disconnects. This can cause soft lockup errors on debug systems and bad performance generally. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 62a0f62369b0fece37f6652d69b918c89d53c3b3 Author: David Teigland Date: Wed Jan 31 13:25:00 2007 -0600 [DLM] zero new user lvbs A new lvb for a userland lock wasn't being initialized to zero. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 9beeb9f3c5b0401491f59b71521ab2678f584b09 Author: Randy Dunlap Date: Tue Jan 30 14:30:08 2007 -0800 [DLM/GFS2] indent help text Indent help text as expected. Signed-off-by: Randy Dunlap Signed-off-by: Steven Whitehouse commit ddee76089cc9bcbd8ae9ec6c26e726a8ab2fe675 Author: Russell Cattelan Date: Mon Jan 29 17:13:44 2007 -0600 [GFS2] Fix unlink deadlocks Move the glock acquisition to outside of the transactions. Lock odering must be preserved in order to prevent ABBA deadlocks. The current gfs2_change_nlink code would tries to grab the glock after having started a transaction and thus is holding the log lock. This is inconsistent with other code paths in gfs that grab the resource group glock prior to staring a tranactions. One problem with this fix is that the resource group lock is always grabbed now even if the inode still has ref count and can not be marked for unlink. Signed-off-by: Russell Cattelan Signed-off-by: Steven Whitehouse commit 61be084efcc4451934257350281962595418a33c Author: Steven Whitehouse Date: Mon Jan 29 11:51:45 2007 +0000 [GFS2] Put back semaphore to avoid umount problem Dave Teigland fixed this bug a while back, but I managed to mistakenly remove the semaphore during later development. It is required to avoid the list of inodes changing during an invalidate_inodes call. I have made it an rwsem since the read side will be taken frequently during normal filesystem operation. The write site will only happen during umount of the file system. Also the bug only triggers when using the DLM lock manager and only then under certain conditions as its timing related. Signed-off-by: Steven Whitehouse Cc: David Teigland commit bbb28ab7599789740b2233a0805d22aefb97f533 Author: Eric Sandeen Date: Mon Jan 29 11:11:51 2007 -0600 [GFS2] more CURRENT_TIME_SEC Whoops, quilt user error, missed this one in the previous patch. Signed-off-by: Eric Sandeen Signed-off-by: Steven Whitehouse commit 001172778543c6997d3339f43085e43460e5883a Author: Adrian Bunk Date: Sun Jan 28 17:19:50 2007 +0100 [GFS2/DLM] fix GFS2 circular dependency On Sun, Jan 28, 2007 at 11:08:18AM +0100, Jiri Slaby wrote: > Andrew Morton napsal(a): > >Temporarily at > > > > http://userweb.kernel.org/~akpm/2.6.20-rc6-mm1/ > > Unable to select IPV6. Menuconfig doesn't offer it when INET is selected. > When it's not it appears in the menu, but after state change it gets away. > The same behaviour in xconfig, gconfig. > > $ mkdir ../a/tst > $ make O=../a/tst menuconfig > HOSTCC scripts/basic/fixdep > [...] > HOSTLD scripts/kconfig/mconf > scripts/kconfig/mconf arch/i386/Kconfig > Warning! Found recursive dependency: INET GFS2_FS_LOCKING_DLM SYSFS > OCFS2_FS INET > > Maybe this is the problem? Yes, patch below. > regards, cu Adrian <-- snip --> This patch fixes a circular dependency by letting GFS2_FS_LOCKING_DLM and DLM depend on instead of select SYSFS. Since SYSFS depends on EMBEDDED this change shouldn't cause any problems for users. Signed-off-by: Adrian Bunk Acked-by: Randy Dunlap Signed-off-by: Steven Whitehouse commit 67f55897ee5ffa16ca00ed39d176dc52b5066679 Author: Randy Dunlap Date: Thu Jan 25 18:42:39 2007 -0800 [GFS2/DLM] use sysfs With CONFIG_DLM=m, CONFIG_PROC_FS=n, and CONFIG_SYSFS=n, kernel build fails with: WARNING: "kernel_subsys" [fs/gfs2/locking/dlm/lock_dlm.ko] undefined! WARNING: "kernel_subsys" [fs/dlm/dlm.ko] undefined! WARNING: "kernel_subsys" [fs/configfs/configfs.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Since fs/dlm/lockspace.c and fs/gfs2/locking/dlm/sysfs.c use kernel_subsys, they should either DEPEND on it or SELECT it. Signed-off-by: Randy Dunlap Signed-off-by: Steven Whitehouse commit ee32e4f3d347e4b562de0bd70be99e622d7d1a9f Author: David Teigland Date: Thu Jan 25 14:24:04 2007 -0600 [GFS2] make lock_dlm drop_count tunable in sysfs We want to be able to change or disable the default drop_count (number at which the dlm asks gfs to limit the the number of locks it's holding). Add it to the collection of sysfs tunables for an fs. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 2f708649baad6350f506e7f5ca6649e32a8e4b49 Author: David Teigland Date: Thu Jan 25 13:50:52 2007 -0600 [GFS2] increase default lock limit Increase the number of locks at which point the dlm begins asking gfs to reduce its lock usage. The default value is largely arbitrary, but the current value of 50,000 ends up limiting performance unnecessarily for too many users. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 8bd9572769767c6fd164cff4e1202df12cb34b4a Author: Steven Whitehouse Date: Thu Jan 25 10:04:20 2007 +0000 [GFS2] Fix list corruption in lops.c The patch below appears to fix the list corruption that we are seeing on occasion. Although the transaction structure is private to a single thread, when the queued structures are dismantled during an in-core commit, its possible for a different thread to be trying to add the same structure to another, new, transaction at the same time. To avoid this, this patch takes the log spinlock during this operation. Signed-off-by: Steven Whitehouse commit d7c103d0bd29c94f78155a4538faf314e49d9713 Author: Steven Whitehouse Date: Thu Jan 25 17:14:59 2007 +0000 [GFS2] Fix recursive locking attempt with NFS In certain cases, its possible for NFS to call the lookup code while holding the glock (when doing a readdirplus operation) so we need to check for that and not try and lock the glock twice. This also fixes a typo in a previous NFS related GFS2 patch. Signed-off-by: Steven Whitehouse commit b790c3b7c38aae28c497bb363a6fe72f7c96568f Author: David Teigland Date: Wed Jan 24 10:21:33 2007 -0600 [DLM] can miss clearing resend flag A long, complicated sequence of events, beginning with the RESEND flag not being cleared on an lkb, can result in an unlock never completing. - lkb on waiters list for remote lookup - the remote node is both the dir node and the master node, so it optimizes the lookup into a request and sends a request reply back - the request reply is saved on the requestqueue to be processed after recovery - recovery runs dlm_recover_waiters_pre() which sets RESEND flag so the lookup will be resent after recovery - end of recovery: process_requestqueue takes saved request reply which removes the lkb off the waitesr list, _without_ clearing the RESEND flag - end of recovery: dlm_recover_waiters_post() doesn't do anything with the now completed lookup lkb (would usually clear RESEND) - later, the node unmounts, unlocks this lkb that still has RESEND flag set - the lkb is on the waiters list again, now for unlock, when recovery occurs, dlm_recover_waiters_pre() shows the lkb for unlock with RESEND set, doesn't do anything since the master still exists - end of recovery: dlm_recover_waiters_post() takes this lkb off the waiters list because it has the RESEND flag set, then reports an error because unlocks are never supposed to be handled in recover_waiters_post(). - later, the unlock reply is received, doesn't find the lkb on the waiters list because recover_waiters_post() has wrongly removed it. - the unlock operation has been lost, and we're left with a stray granted lock - unmount spins waiting for the unlock to complete The visible evidence of this problem will be a node where gfs umount is spinning, the dlm waiters list will be empty, and the dlm locks list will show a granted lock. The fix is simply to clear the RESEND flag when taking an lkb off the waiters list. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 8fd3a98f2c22982aff4d29e4ee72959d3032c123 Author: David Teigland Date: Wed Jan 24 10:11:45 2007 -0600 [DLM] saved dlm message can be dropped dlm_receive_message() returns 0 instead of returning 'error'. What would happen is that process_requestqueue would take a saved message off the requestqueue and call receive_message on it. receive_message would then see that recovery had been aborted, set error to EINTR, and 'goto out', expecting that the error would be returned. Instead, 0 was always returned, so process_requestqueue would think that the message had been processed and delete it instead of saving it to process next time. This means the message (usually an unlock in my tests) would be lost. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit f1f1c1ccf7848a6e25db30ee9216e1a1e7eb6bef Author: Patrick Caulfield Date: Wed Jan 24 11:17:59 2007 +0000 [DLM] Make sock_sem into a mutex Now that there can be multiple dlm_recv threads running we need to prevent two recvs running for the same connection - it's unlikely but it can happen and it causes message corruption. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit d043e1900c97f7282b71844c8530279913b6ec5a Author: Steven Whitehouse Date: Tue Jan 23 16:56:36 2007 -0500 [GFS2] Fix typo in glock.c This is a one letter typo fix in glock.c, spotted by Rob Kenna. Signed-off-by: Steven Whitehouse commit ddfe0627838ca0c0e8babb0dd2bd7f4b35e25bff Author: Eric Sandeen Date: Thu Jan 18 16:41:23 2007 -0600 [GFS2] use CURRENT_TIME_SEC instead of get_seconds in gfs2 I was looking something else up and came across this... I don't honestly have a good reason to change it other than to make it like every other Linux filesystem in this regard. ;-) It doesn't functionally change anything, but makes some lines shorter. :) I'm also curious; why does gfs2 have 64-bits of on-disk timestamps, but not in timespec_t format, and only stores second resolutions? Seems like you're halfway to sub-second resolutions already. I suppose if that gets implemented then all of the below should instead be CURRENT_TIME not CURRENT_TIME_SEC. Signed-off-by: Eric Sandeen Signed-off-by: Steven Whitehouse commit 90101c31867b7acc44286b425d50e1042aa55b8d Author: Steven Whitehouse Date: Tue Jan 23 13:20:41 2007 -0500 [GFS2] Compile fix for glock.c This one liner got missed from the previous patch. Signed-off-by: Steven Whitehouse commit 12132933c4fdeb458195a9388287d550c8476edf Author: Steven Whitehouse Date: Mon Jan 22 13:09:04 2007 -0500 [GFS2] Remove queue_empty() function This function is not longer required since we do not do recursive locking in the glock layer. As a result all its callers can be replaceed with list_empty() calls. Signed-off-by: Steven Whitehouse commit bd44e2b007bc9024bce3357c185b38c73f87c3dd Author: Patrick Caulfield Date: Mon Jan 22 14:51:33 2007 +0000 [DLM] fix lowcomms receiving This patch fixes a bug whereby data on a newly accepted connection would be ignored if it arrived soon after the accept. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit b5d32bead1578afc5ca817d40c320764d50a8600 Author: Steven Whitehouse Date: Mon Jan 22 12:15:34 2007 -0500 [GFS2] Tidy up glops calls This patch doesn't make any changes to the ordering of the various operations related to glocking, but it does tidy up the calls to the glops.c functions to make the structure more obvious. The two functions: gfs2_glock_xmote_th() and gfs2_glock_drop_th() can be made static within glock.c since they are called by every set of glock operations. The xmote_th and drop_th glock operations are then made conditional upon those two routines existing and called from the previously mentioned functions in glock.c respectively. Also it can be seen that the go_sync operation isn't needed since it can easily be replaced by calls to xmote_bh and drop_bh respectively. This results in no longer (confusingly) calling back into routines in glock.c from glops.c and also reducing the glock operations by one member. Signed-off-by: Steven Whitehouse commit f2f5095f9e63db57faa7cb082e958910ecdd7ad4 Author: Patrick Caulfield Date: Mon Jan 22 14:50:10 2007 +0000 [DLM] lowcomms tidy This patch removes some redundant fields from the connection structure and adds some lockdep annotation to remove spurious warnings. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 1c0f4872dc4bbeb2223a300517099786211fce83 Author: Steven Whitehouse Date: Mon Jan 22 12:10:39 2007 -0500 [GFS2] Remove local exclusive glock mode Here is a patch for GFS2 to remove the local exclusive flag. In the places it was used, mutex's are always held earlier in the call path, so it appears redundant in the LM_ST_SHARED case. Also, the GFS2 holders were setting local exclusive in any case where the requested lock was LM_ST_EXCLUSIVE. So the other places in the glock code where the flag was tested have been replaced with tests for the lock state being LM_ST_EXCLUSIVE in order to ensure the logic is the same as before (i.e. LM_ST_EXCLUSIVE is always locally exclusive as well as globally exclusive). Signed-off-by: Steven Whitehouse commit 6bd9c8c2fb99d1f5af6201db2f063c1d754c230a Author: Steven Whitehouse Date: Fri Jan 19 13:57:36 2007 -0500 [GFS2] Remove unused go_callback operation This is never used, so we might as well remove it. Signed-off-by: Steven Whitehouse commit e5dab552c82ce416d7be867b1e5a0fa585dcf590 Author: Steven Whitehouse Date: Thu Jan 18 17:44:20 2007 +0000 [GFS2] Remove the "greedy" function from glock.[ch] The "greedy" code was an attempt to retain glocks for a minimum length of time when they relate to mmap()ed files. The current implementation of this feature is not, however, ideal in that it required allocating memory in order to do this and its overly complicated. It also misses the mark by ignoring the other I/O operations which are just as likely to suffer from the same problem. So the plan is to remove this now and then add the functionality back as part of the glock state machine at a later date (and thus take into account all the possible users of this feature) Signed-off-by: Steven Whitehouse commit fee852e374fb367c5436b1226eb93b35f8355ed9 Author: Steven Whitehouse Date: Wed Jan 17 15:33:23 2007 +0000 [GFS2] Shrink gfs2_inode memory by half Here is something I spotted (while looking for something entirely different) the other day. Rather than using a completion in each and every struct gfs2_holder, this removes it in favour of hashed wait queues, thus saving a considerable amount of memory both on the stack (where a number of gfs2_holder structures are allocated) and in particular in the gfs2_inode which has 8 gfs2_holder structures embedded within it. As a result on x86_64 the gfs2_inode shrinks from 2488 bytes to 1912 bytes, a saving of 576 bytes per inode (no thats not a typo!). In actual practice we get a much better result than that since now that a gfs2_inode is under the 2048 byte barrier, we get two per 4k slab page effectively halving the amount of memory required to store gfs2_inodes. Signed-off-by: Steven Whitehouse commit 330005c2b23e71e54931913e9b63d1712a19e444 Author: Steven Whitehouse Date: Mon Jan 15 16:36:26 2007 -0500 [GFS2] Remove max_atomic_write tunable This removes an unused sysfs tunable parameter. Signed-off-by: Steven Whitehouse commit 3699e3a44bf56e0cd58c97e8655f375ad9b65d9d Author: Steven Whitehouse Date: Wed Jan 17 15:09:20 2007 +0000 [GFS2] Clean up/speed up readdir This removes the extra filldir callback which gfs2 was using to enclose an attempt at readahead for inodes during readdir. The code was too complicated and also hurts performance badly in the case that the getdents64/readdir call isn't being followed by stat() and it wasn't even getting it right all the time when it was. As a result, on my test box an "ls" of a directory containing 250000 files fell from about 7mins (freshly mounted, so nothing cached) to between about 15 to 25 seconds. When the directory content was cached, the time taken fell from about 3mins to about 4 or 5 seconds. Interestingly in the cached case, running "ls -l" once reduced the time taken for subsequent runs of "ls" to about 6 secs even without this patch. Now it turns out that there was a special case of glocks being used for prefetching the metadata, but because of the timeouts for these locks (set to 10 secs) the metadata was being timed out before it was being used and this the prefetch code was constantly trying to prefetch the same data over and over. Calling "ls -l" meant that the inodes were brought into memory and once the inodes are cached, the glocks are not disposed of until the inodes are pushed out of the cache, thus extending the lifetime of the glocks, and thus bringing down the time for subsequent runs of "ls" considerably. Signed-off-by: Steven Whitehouse commit a8d638e30e768adc6956541f79f7bf05139ba475 Author: Steven Whitehouse Date: Mon Jan 15 13:52:17 2007 +0000 [GFS2] Add writepages for "data=writeback" mounts It occurred to me that although a gfs2 specific writepages for ordered writes and journaled data would be tricky, by hooking writepages only for "data=writeback" mounts we could take advantage of not needing buffer heads (we don't use them on the read side, nor have we for some time) and create much larger I/Os for the block layer. Using blktrace both before and after, its possible to see that for large I/Os, most of the requests generated through writepages are now 1024 sectors after this patch is applied as opposed to 8 sectors before. Signed-off-by: Steven Whitehouse commit 222d396092acc11b4af03bede309aa066945e920 Author: David Teigland Date: Mon Jan 15 10:28:22 2007 -0600 [DLM] fix master recovery If master recovery happens on an rsb in one recovery sequence, then that sequence is aborted before lock recovery happens, then in the next sequence, we rely on the previous master recovery (which may now be invalid due to another node ignoring a lookup result) and go on do to the lock recovery where we get stuck due to an invalid master value. recovery cycle begins: master of rsb X has left nodes A and B send node C an rcom lookup for X to find the new master C gets lookup from B first, sets B as new master, and sends reply back to B C gets lookup from A next, and sends reply back to A saying B is master A gets lookup reply from C and sets B as the new master in the rsb recovery cycle on A, B and C is aborted to start a new recovery B gets lookup reply from C and ignores it since there's a new recovery recovery cycle begins: some other node has joined B doesn't think it's the master of X so it doesn't rebuild it in the directory C looks up the master of X, no one is master, so it becomes new master B looks up the master of X, finds it's C A believes that B is the master of X, so it sends its lock to B B sends an error back to A A resends this repeats forever, the incorrect master value on A is never corrected The fix is to do master recovery on an rsb that still has the NEW_MASTER flag set from an earlier recovery sequence, and therefore didn't complete lock recovery. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit a1bc86e6bddd34362ca08a3a4d898eb4b5c15215 Author: David Teigland Date: Mon Jan 15 10:34:52 2007 -0600 [DLM] fix user unlocking When a user process exits, we clear all the locks it holds. There is a problem, though, with locks that the process had begun unlocking before it exited. We couldn't find the lkb's that were in the process of being unlocked remotely, to flag that they are DEAD. To solve this, we move lkb's being unlocked onto a new list in the per-process structure that tracks what locks the process is holding. We can then go through this list to flag the necessary lkb's when clearing locks for a process when it exits. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 1d6e8131cf0064ef5ab5f3411a82b800afbfadee Author: Patrick Caulfield Date: Mon Jan 15 14:33:34 2007 +0000 [DLM] Use workqueues for dlm lowcomms This patch converts the DLM TCP lowcomms to use workqueues rather than using its own daemon functions. Simultaneously removing a lot of code and making it more scalable on multi-processor machines. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 03dc6a538e42bcc8d5dfabcee208b639db85a80c Author: Adrian Bunk Date: Sat Jan 13 10:56:41 2007 +0100 [GFS2] make gfs2_change_nlink_i() static On Thu, Jan 11, 2007 at 10:26:27PM -0800, Andrew Morton wrote: >... > Changes since 2.6.20-rc3-mm1: >... > git-gfs2-nmw.patch >... > git trees >... This patch makes the needlessly globlal gfs2_change_nlink_i() static. Signed-off-by: Adrian Bunk Signed-off-by: Steven Whitehouse commit 70831465646b1fef9bf7b51b64409276411e9746 Author: Robert Peterson Date: Thu Jan 11 13:25:00 2007 -0600 [GFS2] gfs2 knows of directories which it chooses not to display This is for Red Hat bugzilla bug bz #222302: Moving a virtual IP from node to node between two NFS-over-GFS2 servers was causing one of the GFS2 servers to become confused and reference a deleted inode. The problem was due to vfs dentries that did not reference the gfs2_dops and therefore didn't call the gfs2 revalidate code to revalidate a dentry after a directory had been deleted & recreated. This patch is a crosswrite from a RHEL4 bug found in GFS1 as bz #190756 and it is against the latest -nmw git tree. Signed-off-by: Robert Peterson Signed-off-by: Steven Whitehouse commit d200778e1257eeb92242355de6f191a0a5ad43c4 Author: David Teigland Date: Tue Jan 9 09:46:02 2007 -0600 [DLM] expose dlm_config_info fields in configfs Make the dlm_config_info values readable and writeable via configfs entries. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 99fc64874aad1ee0aea5c4d8c07e3529f9d03497 Author: David Teigland Date: Tue Jan 9 09:44:01 2007 -0600 [DLM] add config entry to enable log_debug Add a new dlm_config_info field to enable log_debug output and change log_debug() to use it. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 68c817a1c4e21b893672ac73d8a498e6647453aa Author: David Teigland Date: Tue Jan 9 09:41:48 2007 -0600 [DLM] rename dlm_config_info fields Add a "ci_" prefix to the fields in the dlm_config_info struct so that we can use macros to add configfs functions to access them (in a later patch). No functional changes in this patch, just naming changes. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 8ec6886748443bec53ce9b9bf50cec92bc417a1b Author: David Teigland Date: Tue Jan 9 09:38:39 2007 -0600 [DLM] change some log_error to log_debug Some common, non-error messages should use log_debug instead of log_error so they can be turned off. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 87d21e07f3880b8d489f0b4a639deb1362101838 Author: S. Wendy Cheng Date: Thu Jan 18 16:07:03 2007 -0500 [GFS2] Fix gfs2_rename deadlock Second round of gfs2_rename lock re-ordering to allow Anaconda adding root partition on top of gfs2. Previous to this patch the recursive lock detector in glock.c can be triggered due to attempting to lock the rgrp twice. This fixes it by checking to see whether the rgrp is already locked. This fixes Red Hat bugzilla #221237 Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit 6c93fd1e578669364e026a0d44c669b871e2a8c4 Author: Russell Cattelan Date: Mon Jan 8 17:47:51 2007 -0600 [GFS2] BZ 217008 fsfuzzer fix. Update the quilt header comments to match the code changes. Change gfs2_lookup_simple to return an error in the case of a NULL inode. The callers of gfs2_lookup_simple do not check for NULL in the no entry case and such would end up dereferencing a NULL ptr. This fixes: http://projects.info-pull.com/mokb/MOKB-15-11-2006.html Signed-off-by: Russell Cattelan Signed-off-by: Steven Whitehouse commit 49686f71060e342bce6644a5c69fbc6ad0e75a13 Author: Steven Whitehouse Date: Mon Jan 8 14:31:40 2007 +0000 [GFS2] Fix ordering of page disposal vs. glock_dq In case of unlinked files with dirty pages GFS2 wasn't clearing the pages in quite the right order. This patch clears the pages earlier (before the qlock_dq) to avoid the situation that the release of the glock results in attempting to write back data that has already been deallocated. This fixes Red Hat bugzilla: #220117 Signed-off-by: Steven Whitehouse commit 4edde74eedb8bc4c03adc3602b114b72a7ccd13f Author: Patrick Caulfield Date: Tue Jan 2 17:08:54 2007 +0000 [DLM] Fix spin lock already unlocked bug I just noticed this message when testing some other changes I'd made to lowcomms (to use workqueues) but the problem seems to be in the current git trees too. I'm amazed no-one has seen it. BUG: spinlock already unlocked on CPU#1, dlm_recoverd/16868 Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 3fb4a251febe70e4c65ea8250545b391fd414d5a Author: Patrick Caulfield Date: Tue Jan 2 17:01:05 2007 +0000 [DLM] Fix schedule() calls I was a little over-enthusiastic turning schedule() calls int cond_sched() when fixing the DLM for Andrew Morton. These four should really be calls to schedule() or the dlm can busy-wait. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 5509826f1e548d14bb888c1cb6e3bbf23f855770 Author: S. Wendy Cheng Date: Thu Jan 18 15:56:34 2007 -0500 [GFS2] Fix change nlink deadlock Bugzilla 215088 Fix deadlock in gfs2_change_nlink() while installing RHEL5 into GFS2 partition. The gfs2_rename() apparently needs block allocation for the new name (into the directory) where it requires rg locks. At the same time, while updating the nlink count for the replaced file, gfs2_change_nlink() tries to return the inode meta-data back to resource group where it needs rg locks too. Our logic doesn't allow process to acquire these locks recursively by the same process (RHEL installer) that results a BUG call. This only happens within rename code path and only if the destination file exists before the rename operation. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit e1d5b18ae92d0bbfe66dc2b4bab65006d32c5f7d Author: Steven Whitehouse Date: Fri Dec 15 16:49:51 2006 -0500 [GFS2] Fail over to readpage for stuffed files This is partially derrived from a patch written by Russell Cattelan. It fixes a bug where there is a race between readpages and truncate by ignoring readpages for stuffed files. This is ok because a stuffed file will never be more than one block (minus sizeof(struct gfs2_dinode)) in size and block size is always less than page size, so we do not lose anything efficiency-wise by not doing readahead for stuffed files. They will have already been "read ahead" by the action of reading the inode in, in the first place. This is the remaining part of the fix for Red Hat bugzilla #218966 which had not yet made it upstream. Signed-off-by: Steven Whitehouse Cc: Russell Cattelan commit c7b3383437ff41781964d1bf7f40ff8d7dd5bc47 Author: Steven Whitehouse Date: Thu Dec 14 18:24:26 2006 +0000 [GFS2] Fix DIO deadlock This patch fixes Red Hat bugzilla #212627 in which a deadlock occurs due to trying to take the i_mutex while holding a glock. The correct locking order is defined as i_mutex -> glock in all cases. I've left dealing with allocating writes. I know that we need to do that, but for now this should do the trick. We don't need to take the i_mutex on write, because the VFS has already taken it for us. On read we don't need it since the glock is enough protection. The reason that I've made some of the checks into a separate function is that we'll need to do the checks again in the allocating write case eventually, so this is partly in preparation for this. Likewise the return value test of != 1 might look a bit odd and thats because we'll need a third return value in case of requiring an allocation. I've made the change to deferred mode on the glock to ensure flushing read caches on other nodes. I notice that (using blktrace to look at whats going on) we appear to do a better job of large I/Os than ext3 after this patch (in terms of not splitting up the I/Os). Signed-off-by: Steven Whitehouse Cc: Wendy Cheng commit 927255f0383342f5d49b82adb6689b9cba52a6f5 Author: Adrian Bunk Date: Tue Dec 19 13:04:03 2006 -0800 [DLM] fs/dlm/lowcomms-tcp.c: remove 2 functions Remove the following unused functions: - lowcomms_send_message() - lowcomms_max_buffer_size() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 075529b5e1ffa8c9864d23930b71b5306a13d9f8 Author: David Teigland Date: Wed Dec 13 10:40:26 2006 -0600 [DLM] fix lost flags in stub replies When the dlm fakes an unlock/cancel reply from a failed node using a stub message struct, it wasn't setting the flags in the stub message. So, in the process of receiving the fake message the lkb flags would be updated and cleared from the zero flags in the message. The problem observed in tests was the loss of the USER flag which caused the dlm to think a user lock was a kernel lock and subsequently fail an assertion checking the validity of the ast/callback field. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 8d07fd509e9c82a59e37b8b18a2fd0e8ef8fc837 Author: David Teigland Date: Wed Dec 13 10:39:20 2006 -0600 [DLM] fix receive_request() lvb copying LVB's are not sent as part of new requests, but the code receiving the request was copying data into the lvb anyway. The space in the message where it mistakenly thought the lvb lived actually contained the resource name, so it wound up incorrectly copying this name data into the lvb. Fix is to just create the lvb, not copy junk into it. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit da49f36f4f64feb281d7663be99e779b2aecc607 Author: David Teigland Date: Wed Dec 13 10:38:45 2006 -0600 [DLM] fix send_args() lvb copying The send_args() function is used to copy parameters into a message for a number different message types. Only some of those types are set up beforehand (in create_message) to include space for sending lvb data. send_args was wrongly copying the lvb for all message types as long as the lock had an lvb. This means that the lvb data was being written past the end of the message into unknown space. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 9e971b715dcc3cd5f4383f2815aaa7e5853d1f7b Author: David Teigland Date: Wed Dec 13 10:37:55 2006 -0600 [DLM] add version check Check if we receive a message from another lockspace member running a version of the dlm with an incompatible inter-node message protocol. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 38aa8b0c59c35d10d15ebf00ceee641f9ed7acba Author: David Teigland Date: Wed Dec 13 10:37:16 2006 -0600 [DLM] fix old rcom messages A reply to a recovery message will often be received after the relevant recovery sequence has aborted and the next recovery sequence has begun. We need to ignore replies to these old messages from the previous recovery. There's already a way to do this for synchronous recovery requests using the rc_id number, but not for async. Each recovery sequence already has a locally unique sequence number associated with it. This patch adds a field to the rcom (recovery message) structure where this recovery sequence number can be placed, rc_seq. When a node sends a reply to a recovery request, it copies the rc_seq number it received into rc_seq_reply. When the first node receives the reply to its recovery message, it will check whether rc_seq_reply matches the current recovery sequence number, ls_recover_seq, and if not then it ignores the old reply. An old, inadequate approach to filtering out old replies (checking if the current stage of recovery has moved back to the start) has been removed from two spots. The protocol version number is changed to reflect the different rcom structures. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit dc200a8848cca8b0e99012996c66f4b379a390ed Author: David Teigland Date: Wed Dec 13 10:36:37 2006 -0600 [DLM] fix resend rcom lock There's a chance the new master of resource hasn't learned it's the new master before another node sends it a lock during recovery. The node sending the lock needs to resend if this happens. - A sends a master lookup for resource R to C - B sends a master lookup for resource R to C - C receives A's lookup, assigns A to be master of R and sends a reply back to A - C receives B's lookup and sends a reply back to B saying that A is the master - B receives lookup reply from C and sends its lock for R to A - A receives lock from B, doesn't think it's the master of R and sends an error back to B - A receives lookup reply from C and becomes master of R - B gets error back from A and resends its lock back to A (this resending is what this patch does) - A receives lock from B, it now sees it's the master of R and takes the lock Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit c378051177dce4421428fd1691ffdf15ad57c161 Author: David Teigland Date: Wed Dec 6 11:46:33 2006 -0600 [GFS2] don't try to lockfs after shutdown If an fs has already been shut down, a lockfs callback should do nothing. An fs that's been shut down can't acquire locks or do anything with respect to the cluster. Also, remove FIXME comment in withdraw function. The missing bits of the withdraw procedure are now all done by user space. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit a417a21e10831bca695b4ba9c74f4ddf5a95ac06 Author: Soeren Sonnenburg Date: Mon Feb 5 10:06:01 2007 +0100 USB HID: handle multi-interface devices for Apple macbook pro properly Some HID devices by Apple have both keyboard and mouse interfaces; the keyboard interface is handled by usbhid, but the mouse (really touchpad) interface must be handled by the separate 'appletouch' driver. Using HID_QUIRK_IGNORE will make hiddev ignore both interfaces, therefore a new quirk flag to ignore only the mouse interface is required. Signed-off-by: Soeren Sonnenburg Signed-off-by: Sergey Vlasov Signed-off-by: Jiri Kosina commit dd64c151b978dc78ed535433d930c75b5c15deeb Author: Jiri Kosina Date: Tue Jan 30 16:02:24 2007 +0100 HID: move away from DEBUG defines in favor of CONFIG_HID_DEBUG CONFIG_INPUT_DEBUG is non-existent option, so remove anything depending on it. Also, as we have new CONFIG_HID_DEBUG, this should be used on places where ifdef DEBUG was used before. Suggested by Adrian Bunk. Signed-off-by: Jiri Kosina commit 43c7bf0472ec1f813fccc6012654399345898491 Author: Jiri Kosina Date: Fri Jan 26 12:58:24 2007 +0100 USB HID: fix bogus comment in hid_get_class_descriptor() The comment in hid_get_class_descriptor() says a very obvious thing and is also violating codingstyle. Just remove it. Signed-off-by: Jiri Kosina commit 8235ca3c05076f35d22578e8f530fd374104332a Author: Jiri Kosina Date: Fri Jan 26 12:56:16 2007 +0100 USB HID: remove hid_find_field_by_usage() The unused hid_find_field_by_usage() function has been commented out for a pretty long time. Remove it completely. Signed-off-by: Jiri Kosina commit 7c379146005d277982acde02da44c773de5e7e5a Author: Jiri Kosina Date: Wed Jan 24 11:54:19 2007 +0100 HID: API - fix leftovers of hidinput API in USB HID hidinput_{open,close}() functions do not belong to usbhid, but to the generic HID layer. Move them, and fix hooks in struct hid_device, so that now the callbacks are done to transport-specific _open() functions, but not input_open() functions. Signed-off-by: Jiri Kosina commit c080d89ad91e98fec0e8fc5f448a1ad899bd85c7 Author: Jiri Kosina Date: Thu Jan 25 11:43:31 2007 +0100 HID: hid debug from hid-debug.h to hid layer hid-debug.h contains a lot of code, and should not therefore be a header. This patch moves the code to generic hid layer as .c source, and introduces CONFIG_HID_DEBUG to conditionally compile it, instead of playing with #define DEBUG and including hid-debug.h. Signed-off-by: Jiri Kosina commit 20eb12790670985c8e30821218993bd260387b89 Author: Anssi Hannula Date: Thu Jan 11 16:51:18 2007 +0200 hid: force feedback driver for PantherLord USB/PS2 2in1 Adapter Add a force feedback driver for PantherLord USB/PS2 2in1 Adapter, 0810:0001. The device identifies itself as "Twin USB Joystick". Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit 5556feae1c4e1cf2021b5fb2ef99973125de2250 Author: Anssi Hannula Date: Thu Jan 11 16:51:17 2007 +0200 hid: quirk for multi-input devices with unneeded output reports Add new quirk HID_QUIRK_SKIP_OUTPUT_REPORTS to skip output reports when enumerating reports on a hid-input device. Add this quirk and HID_QUIRK_MULTI_INPUT to 0810:0001. PantherLord Twin USB Joystick, 0810:0001 has separate input reports for 2 distinct game controllers in the same interface, so it needs HID_QUIRK_MULTI_INPUT. However, the device also contains one output report per controller which is used to control the force feedback function, and we do not want those to appear as separate input devices as well. The simplest approach seems to be to add a quirk to skip output reports on 0810:0001, and allow the force feedback driver to handle those. Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit c4146067fd7889bc6fab6cdfd8b2795d745a2156 Author: Anssi Hannula Date: Thu Jan 11 16:51:16 2007 +0200 hid: allow force feedback for multi-input devices Allow hid devices with HID_QUIRK_MULTI_INPUT to have force feedback. This was previously disabled because there were not any force feedback drivers for such devices. This will change with my upcoming patch. Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit b45bfcc1ae084aa98c0350b8c33c8b57540b0acc Author: Hoang-Nam Nguyen Date: Wed Jan 24 00:14:18 2007 +0100 IB/ehca: Remove obsolete prototypes Remove prototypes for functions that don't exist. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 4c34bdf58c0a3b305ebd9b5e74011ca1fd6d964d Author: Hoang-Nam Nguyen Date: Wed Jan 24 00:13:35 2007 +0100 IB/ehca: Remove use of do_mmap() This patch removes do_mmap() from ehca: - Call remap_pfn_range() for hardware register block - Use vm_insert_page() to register memory allocated for completion queues and queue pairs - The actual mmap() call/trigger is now controlled by user space, ie. libehca Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 1f12667021c542236b1f10eb5d8b2d8f3a79ab48 Author: Steve Wise Date: Tue Jan 23 19:03:17 2007 -0600 RDMA/addr: Handle ethernet neighbour updates during route resolution The iWARP connection manager uses the ib_addr services to do route resolution (neighbour discovery in the IP world). The ib_addr netevent callback routine, however, currently only acts on InfiniBand neighbour updates. It needs to act on ethernet neighbour updates as well. This patch just removes filtering on device type altogether and will trigger on any neighour updates where the nud_type is valid. This simplifies the code some. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit fa7252ed4d92397baf30e4a144af95a33eaa925b Author: Jason Gunthorpe Date: Fri Jan 19 11:58:49 2007 -0700 IB: Make sure struct ib_user_mad.data is aligned Make the untyped data region in ib_user_mad have type u64 so that it gets aligned properly. This avoids alignment faults in ib_umad when casting the data field to an rmpp_mad and accessing the 64-bit tid field on architectures like ia64. Signed-off-by: Jason Gunthorpe Signed-off-by: Roland Dreier commit 1033ff670d49760604f5d4c73a1b60741863a406 Author: Ishai Rabinovitz Date: Tue Jan 16 17:26:22 2007 +0200 IB/srp: Don't wait for response when QP is in error state. When there is a call to send_tsk_mgmt SRP posts a send and waits for 5 seconds to get a response. When the QP is in the error state it is obvious that there will be no response so it is quite useless to wait. In fact, the timeout causes SRP to wait a long time to reconnect when a QP error occurs. (Each abort and each reset_device calls send_tsk_mgmt, which waits for the timeout). The following patch solves this problem by identifying the failure and returning an immediate error code. Signed-off-by: Ishai Rabinovitz Signed-off-by: Roland Dreier commit 062dbb69f32b9ccea701b30f8cc0049482e6211f Author: Michael S. Tsirkin Date: Sun Dec 31 21:09:42 2006 +0200 IB: Return qp pointer as part of ib_wc struct ib_wc currently only includes the local QP number: this matches the IB spec, but seems mostly useless. The following patch replaces this with the pointer to qp itself, and updates all low level drivers and all users. This has the following advantages: - Ability to get a per-qp context through wc->qp->qp_context - Existing drivers already have the qp pointer ready in poll cq, so this change actually saves a tiny bit (extra memory read) on data path (for ehca it would actually be expensive to find the QP pointer when polling a CQ, but ehca does not support SRQ so we can leave wc->qp as NULL for ehca) - Users that need the QP number can still get it through wc->qp->qp_num Use case: In IPoIB connected mode code, I have a common CQ shared by multiple QPs. To track connection usage, I need a way to get at some per-QP context upon the completion, and I would like to avoid allocating context object per work request just to stick a QP pointer into it. With this code, I can just use wc->qp->qp_context. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 459d6e2a541a5226825db998e627e0aa046aa257 Author: Michael S. Tsirkin Date: Sun Feb 4 14:11:55 2007 -0800 IB: Include explicitly in uses struct kref, so it should include explicitly to avoid hidden include dependencies. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit f9d429a2e579ed7c51c49a81265f7e7d2c59c197 Author: Pierre Ossman Date: Sat Feb 3 13:36:41 2007 +0100 mmc: tifm: replace kmap with page_address Since we actively avoid highmem, calling kmap_atomic() instead of page_address() is effectively only obfuscation. Signed-off-by: Pierre Ossman commit c70840e819acdbab96b8cdf71d27cb68c6567efa Author: Pierre Ossman Date: Fri Feb 2 22:41:41 2007 +0100 mmc: sdhci: fix voltage ocr Some bad if-clauses caused the driver to just report the highest supported voltage, not all. Signed-off-by: Pierre Ossman commit 2a22b14edfdf1dce303ec48bb934a6a2edb278b5 Author: Pierre Ossman Date: Fri Feb 2 18:27:42 2007 +0100 mmc: sdhci: replace kmap with page_address Since we actively avoid highmem, calling kmap_atomic() instead of page_address() is effectively only obfuscation. Signed-off-by: Pierre Ossman commit 4a0ddbd25ad4e03a0a1657f5cb2259c9a35fe9e6 Author: Pierre Ossman Date: Wed Jan 31 18:20:48 2007 +0100 mmc: wbsd: replace kmap with page_address Since we actively avoid highmem, calling kmap_atomic() instead of page_address() is effectively only obfuscation. Signed-off-by: Pierre Ossman commit df1c4b7bf7f3b3a48d78c6e5c2fc5b9a1c01b821 Author: Pierre Ossman Date: Tue Jan 30 07:55:15 2007 +0100 mmc: handle pci_enable_device() return value in sdhci Make sure we report back any errors from pci_enable_device(). Signed-off-by: Pierre Ossman commit 397411e67ff473c36161d93e4c7ac6dc53e23503 Author: Pierre Ossman Date: Tue Jan 30 07:48:04 2007 +0100 mmc: Proper unclaim in mmc_block Make sure we release the claim on the host even on failure. Signed-off-by: Pierre Ossman commit fac8899129a0490020a0734cc84c1a94ac72c7e1 Author: Pierre Ossman Date: Sat Jan 27 13:18:26 2007 +0100 mmc: change wbsd mailing list The wbsd-devel list has been shut down. Refer people to LKML instead. Signed-off-by: Pierre Ossman commit ae06eaf9abb1fd00e413753786e13406eda5819a Author: Pierre Ossman Date: Sun Jan 7 16:59:06 2007 +0100 mmc: Graceful fallback for fancy features MMC high-speed, wide bus support and SD high-speed are functions that aren't critical for correct operation of the card. As such, they shouldn't mark the card as bad or dead when there is a failure activating these features. This is needed in particular on some really stupid hardware (e.g. Winbond's) where not all data transfer commands are supported. Signed-off-by: Pierre Ossman commit 5ba593a97206fb96dc0e63f209e6ade86452844f Author: Pierre Ossman Date: Tue Nov 21 17:45:37 2006 +0100 mmc: Handle wbsd's stupid command list The wbsd hardware is so incredibly brain damaged that it has an internal list of commands that result in data transfers. The result being that commands that aren't on this list aren't supported. Instead of locking up, waiting for a data interrupt that will never come, we try to fail a bit more gracefully. Signed-off-by: Pierre Ossman commit 55db890a838c7b37256241b1fc53d6344aa79cc0 Author: Pierre Ossman Date: Tue Nov 21 17:55:45 2006 +0100 mmc: Allow host drivers to specify max block count Many controllers have an upper limit on the number of blocks that can be transferred in one request. Allow the host drivers to specify this and make sure we avoid hitting this limit. Also change the max_sectors field to avoid confusion. This makes it map less directly to the block layer limits, but as they didn't apply directly on MMC cards anyway, this isn't a great loss. Signed-off-by: Pierre Ossman commit fe4a3c7a20f14d86022a8132adbf6ddb98e7197c Author: Pierre Ossman Date: Tue Nov 21 17:54:23 2006 +0100 mmc: Allow host drivers to specify a max block size Most controllers have an upper limit on the block size. Allow the host drivers to specify this and make sure we avoid hitting this limit. Signed-off-by: Pierre Ossman commit dba4accab17bd2e2e09088f746257a8c14af1cc2 Author: Alex Dubov Date: Mon Dec 11 01:55:38 2006 +1100 tifm_sd: add suspend and resume functionality Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 41d78f7405659b55e082c5f0b3d1b625e75e1294 Author: Alex Dubov Date: Mon Dec 11 01:55:37 2006 +1100 tifm_core: add suspend/resume infrastructure for tifm devices Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 8b40adab9c6cb63cede72c3ce3c3fee1157719e0 Author: Alex Dubov Date: Mon Dec 11 01:55:36 2006 +1100 tifm_7xx1: prettify Fix some spaces and tabs. No semantic changes are introduced. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit b5ad6761533c3f7e97c93b2333a0f88490d44f36 Author: Alex Dubov Date: Mon Dec 11 01:55:35 2006 +1100 tifm_7xx1: recognize device 0xac8f as supported This patch also adds symbolic defines for supported pci ids. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 7146f0d3bd2bcd0100a5db54f4ba9edc1042fe01 Author: Alex Dubov Date: Mon Dec 18 14:20:06 2006 +1100 tifm_7xx1: switch from workqueue to kthread As there's only one work item (media_switcher) to handle and it's effectively serialized with itself, I found it more convenient to use kthread instead of workqueue. This also allows for a working implementation of suspend/resume, which were totally broken in the past version. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 6412d927313f08808d61b7efba8da43717d4e8d2 Author: Alex Dubov Date: Mon Dec 11 01:55:33 2006 +1100 tifm_7xx1: Merge media insert and media remove functions Hardware does not say whether card was inserted or removed when reporting socket events. Moreover, during suspend, media can be removed or switched to some other card type without notification. Therefore, for each socket in the change set the following is performed: 1. If there's active device in the socket it's unregistered 2. Media detection is performed 3. If detection recognizes supportable media, new device is registered This patch also alters some macros and variable names to enhance clarity. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 1499ead31ede528a657c50761c4780c40f929d6d Author: Alex Dubov Date: Mon Dec 11 01:55:32 2006 +1100 tifm_7xx1: simplify eject function Eject function can take advantage of the socket_id field instead of explicit pointer comparison. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 217334d14d28e6a671e6dd2c7a35c9070b0721ea Author: Alex Dubov Date: Mon Dec 11 01:55:31 2006 +1100 Add dummy_signal_irq function to save check in ISR Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 50743f4cb1d655c7fbe25af58a9d0db6bf76d687 Author: Alex Dubov Date: Mon Dec 11 01:55:30 2006 +1100 Remove unused return value from signal_irq callback Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 2e8ce5e7414e74fe8904495b1f22cf00d3349398 Author: Alex Dubov Date: Fri Dec 8 16:50:52 2006 +1100 tifm_sd: prettify This patch introduces no semantic changes - it is here for estetic purposes. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 8e02f8581cd2f9c12a03be7641d5c2c427170feb Author: Alex Dubov Date: Fri Dec 8 16:50:51 2006 +1100 tifm_sd: restructure initialization, removal and command handling In order to support correct suspend and resume several changes were needed: 1. Switch from work_struct to tasklet for command handling. When device suspend is called workqueues are already frozen and can not be used. 2. Separate host initialization code from driver's probe and don't rely on interrupts for host initialization. This, in turn, addresses two problems: a) Resume needs to re-initialize the host, but can not assume that device interrupts were already re-armed. b) Previously, probe will return successfully before really knowing the state of the host, as host interrupts were not armed in time. Now it uses polling to determine the real host state before returning. 3. Separate termination code from driver's remove. Termination may be caused by resume, if media changed type or became unavailable during suspend. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 83d420ba92bdd52127e4548ae8050a48f655ce3b Author: Alex Dubov Date: Fri Dec 8 16:50:50 2006 +1100 tifm_sd: fix hardware timeout setup The register access order when setting hardware timeout was incorrect and causing problems (wrong timeout intervals). This is now fixed. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 0803dd0c2594c7dc70c14ab00ea21e68605f5ba1 Author: Alex Dubov Date: Fri Dec 8 16:50:49 2006 +1100 tifm_sd: Switch software timeout handler from work_struct to timer Two changes are introduced to software timeout handler in order to simplify its management: 1. The implementation is switched from work_struct to timer 2. Previously, software timeout was rearmed with each interrupt. Now, current request must complete entirely within timeout interval. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 255ef22e89ecedcc594428444a72a29cb66153f5 Author: Alex Dubov Date: Fri Dec 8 16:50:48 2006 +1100 tifm_sd: use kmap_atomic instead of kmap for PIO data buffer Data buffer for PIO transfer used to be mapped in advance with kmap. Abolish it in favor of on-demand kmap_atomic. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 1289335a2ab57d00c638c3954dc86d6c4eab5606 Author: Alex Dubov Date: Fri Dec 8 16:50:47 2006 +1100 tifm_sd: alter order of the states in the command handler Previously, stop command was issued right after BRS (block received/sent) event. Stop command completion event could interfere with the card busy event, causing miscount of the written blocks. This patch ensures that stop command issued as last action for a particular command, after DMA sompletion event and written block count verification. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit fba68bd2dab1ac99af3c5a963ec9581cfa9f1725 Author: Philip Langdale Date: Thu Jan 4 06:57:32 2007 -0800 mmc: Add support for SDHC cards Thanks to the generous donation of an SDHC card by John Gilmore, and the surprisingly enlightened decision by the SD Card Association to publish useful specs, I've been able to bash out support for SDHC. The changes are not too profound: i) Add a card flag indicating the card uses block level addressing and check it in the block driver. As we never took advantage of byte-level addressing, this simply involves skipping the block -> byte translation when sending commands. ii) The layout of the CSD is changed - a set of fields are discarded to make space for a larger C_SIZE. We did not reference any of the discarded fields except those related to the C_SIZE. iii) Read and write timeouts are fixed values and not calculated from CSD values. iv) Before invoking SEND_APP_OP_COND, we must invoke the new SEND_IF_COND to inform the card we support SDHC. Signed-off-by: Philipl Langdale Signed-off-by: Pierre Ossman commit 9e9dc5f29f2eb65153a15c4fdb12b4382e3a75b2 Author: Darren Salt Date: Sat Jan 27 15:32:31 2007 +0100 mmc: Power quirk for ENE controllers Support for these devices was broken for 2.6.18-rc1 and later by commit 146ad66eac836c0b976c98f428d73e1f6a75270d, which added voltage level support. This restores the previous behaviour for these devices by ensuring that when the voltage is changed, only one write to set the voltage is performed. It may be that both writes are needed if the voltage is being changed between two non-zero values or that it's safe to ensure that only one write is done if the hardware only supports one voltage; I don't know whether either is the case nor can I test since I have only the one SD reader (1524:0550), and it supports just the one voltage. Signed-off-by: Darren Salt Signed-off-by: Pierre Ossman commit 11354d03afe9dd0d114e078057158baad4b4eee9 Author: Pierre Ossman Date: Sun Jan 14 01:41:45 2007 +0100 mmc: let host be parent of cards Change the parent of cards to be a specific host (a class device), not the physical controller. This is particularly useful when the hardware has multiple slots, meaning multiple hosts. Signed-off-by: Pierre Ossman commit f22ee4edf63e7480511112d9965c71e07be3f8b7 Author: Pierre Ossman Date: Tue Dec 26 15:11:23 2006 +0100 mmc: replace host->card_busy As card_busy was only used to indicate if the host was exclusively claimed and not really used to identify a particular card, replacing it with just a boolean makes things a lot more easily understandable. Signed-off-by: Pierre Ossman commit 279bc4450989215e741c2c9d3a726f1ac96ede40 Author: Manuel Lauss Date: Thu Jan 25 10:27:41 2007 +0100 mmc: au1xmmc: return errors for unknown response types au1xmmc: return error when encountering unhandled/unknown response type. Signed-off-by: Manuel Lauss Signed-off-by: Pierre Ossman commit 82999770d6926193f50b42e713a92ee4028398e3 Author: Manuel Lauss Date: Thu Jan 25 10:29:24 2007 +0100 mmc: au1xmmc: implement proper ro switch detection au1xmmc: implement proper R/O switch detection. Signed-off-by: Manuel Lauss Signed-off-by: Pierre Ossman commit 914afcf55ae2621a3c5930e8c458d4ae8636c469 Author: Steve French Date: Fri Feb 2 14:42:12 2007 +0000 [CIFS] Missing free in error path Thanks to jra for pointing this out Signed-off-by: Jeremy Allison Signed-off-by: Steve French commit 9a0c8230e84898ed27f790408805e33fa482b2f9 Author: Steve French Date: Fri Feb 2 04:21:57 2007 +0000 [CIFS] Reduce cifs stack space usage The two cifs functions that used the most stack according to "make checkstack" have been changed to use less stack. Thanks to jra and Shaggy for helpful ideas Signed-off-by: Steve French cc: jra@samba.org cc: shaggy@us.ibm.com commit e051fda4fd14fe878e6d2183b3a4640febe9e9a8 Author: Mark Fasheh Date: Thu Feb 1 11:40:16 2007 -0800 ocfs2: ocfs2_link() journal credits update Commit 592282cf2eaa33409c6511ddd3f3ecaa57daeaaa fixed some missing directory c/mtime updates in part by introducing a dinode update in ocfs2_add_entry(). Unfortunately, ocfs2_link() (which didn't update the directory inode before) is now missing a single journal credit. Fix this by doubling the number of inode updates expected during hard link creation. Signed-off-by: Mark Fasheh commit 030e9d8147491a9d2fe1b67882a3720fcf8b95f7 Author: Steve French Date: Thu Feb 1 04:27:59 2007 +0000 [CIFS] lseek polling returned stale EOF Fixes Samba bug 4362 Discovered by Jeremy Allison Clipper database polls on EOF via lseek and can get stale EOF when file is open on different client Signed-off-by: Jeremy Allison Signed-off-by: Steve French commit 7220c0177b45600eef2cfd3e5e57ab5b96f3222c Author: Dave Kleikamp Date: Fri Jan 26 10:14:36 2007 -0600 JFS: Remove incorrect kgdb define jfs_debug.h uses an incorrect CONFIG_KERNEL_ASSERT ifdef to redefine the assert macro for kgdb use. I believe the code worked a long time ago, but today it's not a valid config option. Since I'm not aware of anybody interested in debugging jfs with kgdb, it should just be removed. Thanks to Robert P. J. Day for reporting this. Signed-off-by: Dave Kleikamp commit 4aa0d230c2cfc1ac4bcf7c5466f9943cf14233a9 Author: Dave Kleikamp Date: Wed Jan 17 21:18:35 2007 -0600 JFS: call io_schedule() instead of schedule() to avoid deadlock The introduction of Jens Axboe's explicit i/o plugging patches introduced a deadlock in jfs. This was caused by the process initiating I/O not unplugging the queue before waiting on the commit thread. The commit thread itself was waiting for that I/O to complete. Calling io_schedule() rather than schedule() unplugs the I/O queue avoiding the deadlock, and it appears to be the right function to call in any case. Signed-off-by: Dave Kleikamp commit 82d5b9a7c63054a9a2cd838ffd177697f86e7e34 Author: Dave Kleikamp Date: Tue Jan 9 14:14:48 2007 -0600 JFS: Add lockdep annotations Yeah, it's about time. Signed-off-by: Dave Kleikamp commit 17e6afc75ad0150d265a86a8f155b2871f9c07fe Author: Dave Kleikamp Date: Tue Jan 9 08:57:34 2007 -0600 JFS: Avoid BUG() on a damaged file system On Mon, 2006-12-18 at 19:51 +0100, Eric Sesterhenn wrote: > hi, > > while playing around with fsfuzzer, i got the following oops with jfs: > > [ 851.804875] BUG at fs/jfs/jfs_xtree.c:760 > assert(!BT_STACK_FULL(btstack)) > [ 851.805179] ------------[ cut here ]------------ > [ 851.805238] kernel BUG at fs/jfs/jfs_xtree.c:760! JFS should mark the superblock dirty and return an error rather than calling BUG(). Signed-off-by: Dave Kleikamp