summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* merge by hand (scsi_device.h)James Bottomley2005-04-1839-330/+203
|\
| * [PATCH] scsi: scsi_send_eh_cmnd() cleanup2005-04-181-12/+13
| | | | | | | | | | | | | | | | This patch makes scsi_send_eh_cmnd() use sdev and shost instead of referencing them through scmd-> everytime. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [PATCH] scsi: remove volatile from scsi data2005-04-182-3/+10
| | | | | | | | | | | | | | | | | | | | | | This patch removes volatile qualifier from scsi_device->device_busy, Scsi_Host->host_busy and ->host_failed as the volatile qualifiers don't serve any purpose now. While at it, convert those fields from unsigned short to unsigned int as suggested by Christoph. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * scsi: add DID_REQUEUE to the error handling2005-04-182-0/+5
| | | | | | | | | | | | | | | | | | | | We have a DID_IMM_RETRY to require a retry at once, but we could do with a DID_REQUEUE to instruct the mid-layer to treat this command in the same manner as QUEUE_FULL or BUSY (i.e. halt the submission until another command returns ... or the queue pressure builds if there are no outstanding commands). Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * zfcp: add point-2-point support2005-04-186-14/+65
| | | | | | | | | | | | | | | | | | | | | | | | From: Andreas Herrmann <aherrman@de.ibm.com> This patch mainly introduces support for point-2-point topology. From: Heiko Carstens <heiko.carstens@de.ibm.com> From: Maxim Shchetynin <maxim@de.ibm.com> From: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [PATCH] Convert i2o to compat_ioctl2005-04-181-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | Also broken design in its compat handlers - CONFIG_COMPAT doesn't mean that there should be no native ioctls. Signed-off-by: Andi Kleen <ak@muc.de> Reworked with comments from Markus Lidel by: Christoph Hellwig <hch@infradead.org> Rejections fixed and Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [PATCH] kill old EH constants2005-04-184-115/+3
| | | | | | | | | | | | | | | | | | Fix up two drivers that incorrectly were using the old return values for their new-style EH methods and kill off scsi_obsolete.h that defined the constants. The initio driver has all these constansts defined locally and uses them internally, I'll fix that up some time later. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [PATCH] scsi: remove meaningless scsi_cmnd->serial_number_at_timeout field2005-04-1810-62/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | scsi_cmnd->serial_number_at_timeout doesn't serve any purpose anymore. All serial_number == serial_number_at_timeout tests are always true in abort callbacks. Kill the field. Also, as ->pid always equals ->serial_number and ->serial_number doesn't have any special meaning anymore, update comments above ->serial_number accordingly. Once we remove all uses of this field from all lldd's, this field should go. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [PATCH] scsi: remove unused scsi_cmnd->internal_timeout field2005-04-187-18/+2
| | | | | | | | | | | | | | | | scsi_cmnd->internal_timeout field doesn't have any meaning anymore. Kill the field. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [PATCH] remove outdated print_* functions2005-04-1813-82/+54
| | | | | | | | | | | | | | We have the scsi_print_* functions in the proper namespace for a long time now and there weren't a lot users left. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [PATCH] consolidate timeout defintions in scsi.h2005-04-183-10/+9
| | | | | | | | | | | | Adapted from a patch in SuSE's kernel SRPM. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | updates for CFQ oops fix2005-04-162-0/+4
| | | | | | | | | | | | | | | | | | - add a comment to the device structure that the device_busy field is now protected by the request_queue->queue_lock - null out sdev->request_queue after the queue is released to trap any (and there shouldn't be any) use after the queue is freed. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | [PATCH] fix NMI lockup with CFQ scheduler2005-04-165-6/+16
| | | | | | | | | | | | | | | | | | | | The current problem seen is that the queue lock is actually in the SCSI device structure, so when that structure is freed on device release, we go boom if the queue tries to access the lock again. The fix here is to move the lock from the scsi_device to the queue. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | [PATCH] finally fix 53c700 to use the generic iomem infrastructure2005-04-166-189/+27
| | | | | | | | | | | | | | This driver has had it's own different infrastructure for doing this for ages, but it's time it used the common one. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | [PATCH] zfcp: convert to compat_ioctl2005-04-161-22/+12
| | | | | | | | | | Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | [PATCH] sg.c: update2005-04-161-71/+132
|/ | | | | | | | | | | | | | | | | | | | | The attachment combines the most recent patch from Yum Rayan <yum.rayan@gmail.com> (to reduce sg stack usage), Adrian Bunk <bunk@stusta.de> (to fix check after use) and me (fix elapsed time calculation (duration) on ia64 machines). I have modified the patch from Yum Rayan so kmalloc() in sg_read() is only called for the (rare) code paths that need them. Changelog: - reduce stack usage in sg_ioctl() and sg_read() - fix check after use in sg_mmap() - hold duration internally in milliseconds and check current time later than held time Signed-off-by: Douglas Gilbert <dougg@torque.net> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [PATCH] md: remove a number of misleading calls to MD_BUGNeilBrown2005-04-161-22/+8
| | | | | | | | | | | | The conditions that cause these calls to MD_BUG are not kernel bugs, just oddities in what userspace is asking for. Also convert analyze_sbs to return void, and the value it returned was always 0. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] md: close a small race in md thread deregistrationNeilBrown2005-04-161-12/+8
| | | | | | | | | | | | | | | There is a tiny race when de-registering an MD thread, in that the thread could disappear before it is set a SIGKILL, causing send_sig to have problems. This is most easily closed by holding tasklist_lock between enabling the thread to exit (setting ->run to NULL) and telling it to exit. (akpm: ick. Needs to use kthread API and stop using signals) Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fbdev MAINTAINERS updateBenjamin Herrenschmidt2005-04-161-4/+4
| | | | | | | | | This patch does the long overdue updates to MAINTAINERS file for aty128fb and radeonfb. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] serial: fix comments in 8250.cRussell King2005-04-161-3/+11
| | | | | | | | | | | | | | Fix the formatting of some comments in 8250.c, and add a note that the register_serial / unregister_serial shouldn't be used in new code. We do this here in preference to adding to linux/serial.h, since that is used by a number of non-8250 drivers which pretend to be 8250. It is not known whether it would be appropriate to do so. Signed-off-by: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] nfsd4: fix struct file leakNeilBrown2005-04-161-5/+3
| | | | | | | | | | | | | We were failing to close on an error path, resulting in a leak of struct files which could take a v4 server down fairly quickly.... So call nfs4_close_delegation instead of just open-coding parts of it. Simplify the cleanup on delegation failure while we're at it. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] nfsd4: callback create rpc client returnsNeilBrown2005-04-161-2/+4
| | | | | | | | | rpc_create_clnt and friends return errors, not NULL, on failure. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] nfsd: clear signals before exiting the nfsd() threadNeilBrown2005-04-161-0/+2
| | | | | | | | | | | Fixes the error "RPC: failed to contact portmap (errno -512)." when the server later tries to unregister from the portmapper. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] jbd dirty buffer leak fixakpm@osdl.org2005-04-161-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the lots-of-fsx-linux-instances-cause-a-slow-leak bug. It's been there since 2.6.6, caused by: ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.5/2.6.5-mm4/broken-out/jbd-move-locked-buffers.patch That patch moves under-writeout ordered-data buffers onto a separate journal list during commit. It took out the old code which was based on a single list. The old code (necessarily) had logic which would restart I/O against buffers which had been redirtied while they were on the committing transaction's t_sync_datalist list. The new code only writes buffers once, ignoring redirtyings by a later transaction, which is good. But over on the truncate side of things, in journal_unmap_buffer(), we're treating buffers on the t_locked_list as inviolable things which belong to the committing transaction, and we just leave them alone during concurrent truncate-vs-commit. The net effect is that when truncate tries to invalidate a page whose buffers are on t_locked_list and have been redirtied, journal_unmap_buffer() just leaves those buffers alone. truncate will remove the page from its mapping and we end up with an anonymous clean page with dirty buffers, which is an illegal state for a page. The JBD commit will not clean those buffers as they are removed from t_locked_list. The VM (try_to_free_buffers) cannot reclaim these pages. The patch teaches journal_unmap_buffer() about buffers which are on the committing transaction's t_locked_list. These buffers have been written and I/O has completed. We can take them off the transaction and undirty them within the context of journal_invalidatepage()->journal_unmap_buffer(). Acked-by: "Stephen C. Tweedie" <sct@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] drivers/infiniband/hw/mthca/mthca_main.c: remove an unused labelRoland Dreier2005-04-161-1/+1
| | | | | | | | Correct unwinding in error path of mthca_init_icm(). Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: add support for new MT25204 HCARoland Dreier2005-04-164-26/+73
| | | | | | | | | | | | | Decouple table of HCA features from exact HCA device type. Add a current FW version field so we can warn when someone is using old FW. Add support for new MT25204 HCA. Remove the warning about mem-free support, since it should be pretty solid at this point. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: map context for RDMA responder in mem-free modeRoland Dreier2005-04-163-3/+29
| | | | | | | | | Fix RDMA in mem-free mode: we need to make sure that the RDMA context memory is mapped for the HCA. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: update receive queue initialization for new HCAsRoland Dreier2005-04-161-10/+23
| | | | | | | | | Update initialization of receive queue to match new documentation. This change is required to support new MT25204 HCA. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: encapsulate mem-free check into mthca_is_memfree()Roland Dreier2005-04-1611-57/+62
| | | | | | | | | Clean up mem-free mode support by introducing mthca_is_memfree() function, which encapsulates the logic of deciding if a device is mem-free. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: tweaks to mthca_cmd.cRoland Dreier2005-04-161-3/+2
| | | | | | | | | Minor tweaks to firmware command handling: kill off an unused get of a value, and add a little more info to debug output. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: add fast memory region implementationMichael S. Tsirkin2005-04-167-24/+526
| | | | | | | | | | | | | | Implement fast memory regions (FMRs), where the driver writes directly into the HCA's translation tables rather than requiring a firmware command. For Tavor, MTTs for FMR are separate from regular MTTs, and are reserved at driver initialization. This is done to limit the amount of virtual memory needed to map the MTTs. For Arbel, there's no such limitation, and all MTTs and MPTs may be used for FMR or for regular MR. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: split MR key munging routinesMichael S. Tsirkin2005-04-161-4/+24
| | | | | | | | | | | Split Tavor and Arbel/mem-free index<->hw key munging routines, so that FMR implementation can call correct implementation without testing HCA type (which it already knows). Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: add mthca_table_find() functionMichael S. Tsirkin2005-04-162-0/+35
| | | | | | | | | | | Add mthca_table_find() function, which returns the lowmem address of an entry in a mem-free HCA's context tables. This will be used by the FMR implementation. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: add SYNC_TPT firmware commandMichael S. Tsirkin2005-04-162-0/+6
| | | | | | | | | | Add code for SYNC_TPT firmware command, which will be used by FMR implementation. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: add mthca_write64_raw() for writing to MTT table directlyMichael S. Tsirkin2005-04-161-0/+11
| | | | | | | | | | Add mthca_write64_raw() function, which will be used to write FMR entries that are in ioremapped PCI memory. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: encapsulate MTT buddy allocatorMichael S. Tsirkin2005-04-162-74/+95
| | | | | | | | | | Encapsulate the buddy allocator used for MTT segments. This cleans up the code and also gets us ready to add FMR support. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: allow address handle creation in interrupt contextRoland Dreier2005-04-162-4/+4
| | | | | | | | Make address handle verbs usable from interrupt context. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: fill in opcode field for send completionsMichael S. Tsirkin2005-04-163-14/+48
| | | | | | | | | | Fill in missing fields in send completions. Signed-off-by: Itamar Rabenstein <itamar@mellanox.co.il> Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: fix MTT allocation in mem-free modeRoland Dreier2005-04-166-11/+6
| | | | | | | | | | | | | | | | | | | Fix bug in MTT allocation in mem-free mode. I misunderstood the MTT size value returned by the firmware -- it is really the size of a single MTT entry, since mem-free mode does not segment the MTT as the original firmware did. This meant that our MTT addresses ended up being off by a factor of 8. This meant that our MTT allocations might overlap, and so we could overwrite and corrupt earlier memory regions when writing new MTT entries. We fix this by always using our 64-byte MTT segment size. This allows some simplification of the code as well, since there's no reason to put the MTT segment size in a variable -- we can always use our enum value directly. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: implement RDMA/atomic operations for mem-free modeRoland Dreier2005-04-161-0/+47
| | | | | | | | Add code to support RDMA and atomic send work requests in mem-free mode. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: fix format of CQ number for CQ eventsRoland Dreier2005-04-161-2/+2
| | | | | | | | | CQ numbers are only 24 bits, so only print 6 hex digits and mask off reserved part when reporting a CQ event. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: only free doorbell records in mem-free modeRoland Dreier2005-04-161-2/+4
| | | | | | | | On error path, only free doorbell records if we're in mem-free mode. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: print assigned IRQ when interrupt test failsRoland Dreier2005-04-161-1/+4
| | | | | | | | Print IRQ number when NOP command interrupt test fails to help debugging. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: release mutex on doorbell alloc error pathRoland Dreier2005-04-161-1/+2
| | | | | | | | Release mutex on error return path from mthca_alloc_db(). Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: fix MR allocation error pathMichael S. Tsirkin2005-04-161-2/+2
| | | | | | | | | | Fix error handling in MR allocation for mem-free mode: mthca_free must get an MR index, not a key. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: allocate correct number of doorbell pagesRoland Dreier2005-04-161-1/+1
| | | | | | | | | | Doorbell record pages are allocated in HCA page size chunks (always 4096 bytes), so we need to divide by 4096 and not PAGE_SIZE when figuring out how many pages we'll need space for. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: clean up mthca_dereg_mr()Roland Dreier2005-04-161-2/+3
| | | | | | | | | | It's cleaner to kfree mthca_mr, and not rely on the fact that ib_mr is the first field in mthca_mr. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: allow unaligned memory regionsMichael S. Tsirkin2005-04-161-1/+1
| | | | | | | | | | The first buffer of a memory region is not required to be page-aligned, so don't return an error if it's not. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: fix posting sends with immediate dataRoland Dreier2005-04-161-2/+2
| | | | | | | | | | When posting a work request with immediate data, put the immediate data in the immediate data field of the hardware's work request (rather than overwriting the flags field). Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] IB/mthca: fix calculation of RDB shiftRoland Dreier2005-04-161-2/+1
| | | | | | | | | Fix calculation of rdb_shift by using original number of QPs, not their slot in profile[] (which will be rearranged when we sort it). Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
OpenPOWER on IntegriCloud