- 05 Feb, 2010 1 commit
-
-
Stephen M. Cameron authored
It is possible (and expected) for there to be holes in the h->drv[] array, that is, some elements may be NULL pointers. cciss_seq_show needs to be made aware of this possibility to avoid an Oops. To reproduce the Oops which this fixes: 1) Create two "arrays" in the Array Configuratino Utility and several logical drives on each array. 2) cat /proc/driver/cciss/cciss* in an infinite loop 3) delete some of the logical drives in the first "array." Signed-off-by:
Stephen M. Cameron <scameron@beardog.cce.hp.com> Cc: stable@kernel.org Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
- 03 Feb, 2010 1 commit
-
-
Thadeu Lima de Souza Cascardo authored
This is the counterpart to cba76717 ("pktcdvd: remove broken dev_t export of class devices"). Device is not registered using dev_t, so it should not be destroyed using device_destroy which looks up the device by dev_t. This will fail and adding the device again will fail with the "duplicate name" error. This is fixed using device_unregister instead of device_destroy. Signed-off-by:
Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Cc: Kay Sievers <kay.sievers@vrfy.org> Cc: Peter Osterlund <petero2@telia.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Jens Axboe <jens.axboe@oracle.com> Cc: <stable@kernel.org> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 25 Jan, 2010 1 commit
-
-
Dan Carpenter authored
epoch is always NULL here. Signed-off-by:
Dan Carpenter <error27@gmail.com> Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com>
-
- 22 Jan, 2010 1 commit
-
-
Lars Ellenberg authored
blk_queue_make_request() internally calls blk_set_default_limits(), so calling blk_queue_max_segment_size() before is useless. Ergo: move the call to blk_queue_max_segment_size() down a few lines. Impact: If, after a fresh modprobe, you first connect a Diskless drbd, then attach, this could result in a DRBD Protocol Error at first. The next connection attempt would then succeeded. Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Lars Ellenberg <lars.ellenberg@linbit.com>
-
- 12 Jan, 2010 2 commits
-
-
Philipp Reisner authored
drbd: Allow online resizing of DRBD devices while peer not reachable (needs to be explicitly forced) Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Lars Ellenberg <lars.ellenberg@linbit.com>
-
Johannes Thoma authored
Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Lars Ellenberg <lars.ellenberg@linbit.com>
-
- 11 Jan, 2010 1 commit
-
-
Julia Lawall authored
Test the just-allocated value for NULL rather than some other value. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/ ) // <smpl> @@ expression x,y; statement S; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ( if ((x) == NULL) S | if ( - y + x == NULL) S ) // </smpl> Signed-off-by:
Julia Lawall <julia@diku.dk> Cc: Lars Ellenberg <drbd-dev@lists.linbit.com> Cc: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
- 07 Jan, 2010 1 commit
-
-
Lars Ellenberg authored
It is called LBDAF since 2.6.31. impact: without this change, on 32bit, DRBD would wrongly claim to only support 2TiB devices. Signed-off-by:
Lars Ellenberg <lars.ellenberg@linbit.com> Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com>
-
- 04 Jan, 2010 1 commit
-
-
Julia Lawall authored
Test the just-allocated value for NULL rather than some other value. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/ ) // <smpl> @@ expression x,y; statement S; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ( if ((x) == NULL) S | if ( - y + x == NULL) S ) // </smpl> Signed-off-by:
Julia Lawall <julia@diku.dk> Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com>
-
- 31 Dec, 2009 1 commit
-
-
Philipp Reisner authored
Immediately after changing the write ordering method, the epoch can already be finished at this point. Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Lars Ellenberg <lars.ellenberg@linbit.com>
-
- 29 Dec, 2009 3 commits
-
-
Johannes Thoma authored
!CONFIG_OPT evalues to FALSE if CONFIG_OPT='m'. Do not display the "DRBD disabled..." message if the dependencies are compiled as module. Signed-off-by:
Johannes Thoma <johannes.thoma@linbit.com> Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com>
-
Philipp Reisner authored
In D_DISKLESS we do not hand out any new references to ldev (local_cnt) therefore waiting until all previously handed out refereces got returned is sufficient before actually freeing mdev->ldev. Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Lars Ellenberg <lars.ellenberg@linbit.com>
-
Philipp Reisner authored
Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Lars Ellenberg <lars.ellenberg@linbit.com>
-
- 22 Dec, 2009 3 commits
-
-
Andrew Morton authored
Cc: "Ed L. Cashin" <ecashin@coraid.com> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Ilya Loginov <isloginov@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Horton <phorton@bitbox.co.uk> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
H Hartley Sweeten authored
Use resource_size() for ioremap. The ioremap appears to be passing the incorrect size for the platform resource. Unfortunately, I can't locate a user in mainline to verify this. Using resource_size should be the correct fix. Signed-off-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
unsik Kim <donari75@gmail.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
Julia Lawall authored
DAC960_LP_Controller and DAC960_V2_Controller have the same value, but elsewhere it is DAC960_V1_Controller or DAC960_V2_Controller that is used in the FirmwareType field. Signed-off-by:
Julia Lawall <julia@diku.dk> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
- 21 Dec, 2009 4 commits
-
-
Huang Weiyi authored
Remove unused #include <linux/version.h>('s) in drivers/block/drbd/drbd_main.c drivers/block/drbd/drbd_receiver.c drivers/block/drbd/drbd_worker.c Signed-off-by:
Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com>
-
Huang Weiyi authored
Remove duplicated #include('s) in drivers/block/drbd/drbd_worker.c Signed-off-by:
Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com>
-
Roel Kluin authored
rsp->count is unsigned so the test does not work. Signed-off-by:
Roel Kluin <roel.kluin@gmail.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com>
-
Emese Revfy authored
Signed-off-by:
Emese Revfy <re.emese@gmail.com> Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com>
-
- 18 Dec, 2009 1 commit
-
-
Roel Kluin authored
rsp->count is unsigned so the test does not work. Signed-off-by:
Roel Kluin <roel.kluin@gmail.com> Cc: Lars Ellenberg <drbd-dev@lists.linbit.com> Cc: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
- 15 Dec, 2009 2 commits
-
-
Arjan van de Ven authored
gcc is not convinced that the floppy.c ioctl has sufficient bound checks: In function `copy_from_user', inlined from `fd_copyin' at drivers/block/floppy.c:3080, inlined from `fd_ioctl' at drivers/block/floppy.c:3503: arch/x86/include/asm/uaccess_32.h:211: warning: call to `copy_from_user_overflow' declared with attribute warning: copy_from_user buffer size is not provably correct And frankly, as a human I have a hard time proving the same more or less (the size comes from the ioctl argument. humpf. maybe. the code isn't very nice) This patch adds an explicit check to make 100% sure it's safe, better than finding out later that there indeed was a gap. [akpm@linux-foundation.org: add WARN_ON()] Signed-off-by:
Arjan van de Ven <arjan@linux.intel.com> Acked-by:
Ingo Molnar <mingo@elte.hu> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Alexey Dobriyan authored
Signed-off-by:
Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 09 Dec, 2009 3 commits
-
-
Mel Gorman authored
Loading the XD module triggers a warning like WARNING: at mm/page_alloc.c:1805 __alloc_pages_nodemask+0x127/0x48f() Hardware name: System Product Name Modules linked in: Pid: 1, comm: swapper Not tainted 2.6.32-rc8-git5 #1 Call Trace: [<c103d94b>] warn_slowpath_common+0x65/0x95 [<c103d98d>] warn_slowpath_null+0x12/0x15 [<c109550c>] __alloc_pages_nodemask+0x127/0x48f [<c10be964>] ? get_slab+0x8/0x50 [<c10b8979>] alloc_page_interleave+0x2e/0x6e [<c10b8a10>] alloc_pages_current+0x57/0x99 [<c2083a4a>] ? xd_init+0x0/0x482 [<c1094c38>] __get_free_pages+0xd/0x1e [<c2083a94>] xd_init+0x4a/0x482 [<c2082df0>] ? loop_init+0x104/0x16a [<c169162d>] ? loop_probe+0x0/0xaf [<c2083a4a>] ? xd_init+0x0/0x482 [<c1001143>] do_one_initcall+0x51/0x13f [<c204a307>] kernel_init+0x10b/0x15f [<c204a1fc>] ? kernel_init+0x0/0x15f [<c1004347>] kernel_thread_helper+0x7/0x10 ---[ end trace 686db6333ade6e7a ]--- xd: Out of memory. The warning is because the alloc_pages is called with an order >= MAX_ORDER. The simplistic reason is that get_order(0) returns garbage values when given 0 as a size. The more complex reason is that the XD driver initialisation is broken. It's not clear why this ever worked. XD allocates a buffer for DMA based on the value of xd_maxsectors. This value is determined by the exact type of controller in use but the value is determined *after* an attempt has been made to allocate the buffer. i.e. the requested size of the DMA buffer will always be 0. This patch alters how XD is initialised slightly by allocating the buffer when and if a device has actually been detected. The error paths are updated to suit the new logic. Signed-off-by:
Mel Gorman <mel@csn.ul.ie> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
Philipp Reisner authored
Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Lars Ellenberg <lars.ellenberg@linbit.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
Benjamin Herrenschmidt authored
The hotplug mediabay has tendrils deep into drivers/ide code which makes a libata port reather difficult. In addition it's ugly and could be done better. This reworks the interface between the mediabay and the rest of the world so that: - Any macio_driver can now have a mediabay_event callback which will be called when that driver sits on a mediabay and it's been either plugged or unplugged. The device type is passed as an argument. We can now move all the IDE cruft into the IDE driver itself - A check_media_bay() function can be used to take a peek at the type of device currently in the bay if any, a cleaner variant of the previous function with the same name. - A pair of lock/unlock functions are exposed to allow the IDE driver to block the hotplug callbacks during the initial setup and probing of the bay in order to avoid nasty race conditions. - The mediabay code no longer needs to spin on the status register of the IDE interface when it detects an IDE device, this is done just fine by the IDE code itself Overall, less code, simpler, and allows for another driver than our old drivers/ide based one. Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
- 04 Dec, 2009 1 commit
-
-
Adam Buchbinder authored
"Definition" is misspelled "defintion" in several comments; this patch fixes them. No code changes. Signed-off-by:
Adam Buchbinder <adam.buchbinder@gmail.com> Signed-off-by:
Jiri Kosina <jkosina@suse.cz>
-
- 03 Dec, 2009 1 commit
-
-
Philipp Reisner authored
Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Lars Ellenberg <lars.ellenberg@linbit.com>
-
- 02 Dec, 2009 1 commit
-
-
Peter Horton authored
Prevent the AoE block driver from creating cache aliases of page cache pages on machines with virtually indexed caches. Building kernels on an AT91SAM9G20 board without this patch fails with segmentation faults after a couple of passes. Signed-off-by:
Peter Horton <zero@colonel-panic.org> Cc: "Ed L. Cashin" <ecashin@coraid.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 24 Nov, 2009 3 commits
-
-
Philipp Reisner authored
Since 8.3.3 we fail to do the resync when a partial resynch is not possible, but a full synch is necessary. This regression was introduced with 7101539930c0a89146959e7a39c09ad9c3516434 Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Lars Ellenberg <lars.ellenberg@linbit.com>
-
Lars Ellenberg authored
Otherwise the 'state fixup' in the receiver will change to Unconnected, but the receiver will terminate itself, and any attempt at 'down'ing that drbd later will block forever. see also Bugz. #259 Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Lars Ellenberg <lars.ellenberg@linbit.com>
-
Lars Ellenberg authored
this is uncritical, as we still also serialize in userland, but to correctly serialize on the CONFIG_PENDING bit, it must be wait_event(state_wait, \!test_and_set_bit) Signed-off-by:
Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Lars Ellenberg <lars.ellenberg@linbit.com>
-
- 23 Nov, 2009 2 commits
-
-
Alex Chiang authored
A recent commit broke the ia64 build: Author: Don Brace <brace@beardog.cce.hp.com> Date: Thu Nov 12 12:50:01 2009 -0600 cciss: Add enhanced scatter-gather support. because of this hunk: --- a/drivers/block/cciss.h +++ b/drivers/block/cciss.h +struct Cmd_sg_list { + SGDescriptor_struct *sgchain; + dma64_addr_t sg_chain_dma; + int chain_block_size; +}; The issue is that dma64_addr_t isn't #define'd on ia64. The way that we're using Cmd_sg_list.sg_chain_dma is to hold an address returned from pci_map_single(). + temp64.val = pci_map_single(h->pdev, + h->cmd_sg_list[c->cmdindex]->sgchain, + len, dir); + + h->cmd_sg_list[c->cmdindex]->sg_chain_dma = temp64.val; pci_map_single() returns a dma_addr_t too. This code will still work even on a 32-bit x86 build, where dma_addr_t is defined to be a u32 because it will simply be promoted to the __u64 that temp64.val is defined as. Thus, declaring Cmd_sg_list.sg_chain_dma as dma_addr_t is safe. Cc: Don Brace <brace@beardog.cce.hp.com> Cc: Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by:
Alex Chiang <achiang@hp.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
Stephen M. Cameron authored
On driver unload, only free up the extra scatter gather data if they were allocated in the first place (the controller supports it) and don't forget to free up the sg_cmd_list array of pointers. Signed-off-by:
Don Brace <brace@beardog.cce.hp.com> Signed-off-by:
Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
- 13 Nov, 2009 6 commits
-
-
Alex Chiang authored
No need to export those device attributes. In fact, without this patch, we can trip over a build error if cciss is a built-in and another driver also declares and exports attributes with the same name. You'll see errors like: drivers/scsi/built-in.o: multiple definition of `dev_attr_lunid' drivers/block/built-in.o: first defined here Cc: Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by:
Alex Chiang <achiang@hp.com> Cc: <mike.miller@hp.com> Cc: Jens Axboe <jens.axboe@oracle.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
Stephen M. Cameron authored
cciss: Fix weird usage of ENXIO in cciss_scsi.c Signed-off-by:
Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
Don Brace authored
cciss: Add enhanced scatter-gather support. For controllers which supported, more than 512 scatter-gather elements per command may be used, and the max transfer size can be increased to 8192 blocks. Signed-off-by:
Don Brace <brace@beardog.cce.hp.com> Signed-off-by:
Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
Stephen M. Cameron authored
cciss: Do not automatically rescan on UNIT ATTENTION/LUN DATA CHANGED There are problems with doing this. If, say, several logical drives are deleted at once, several such UNIT ATTENTIONS will be encountered, often during the rescan triggered by the first such UNIT ATTENTION. The block layer may be in the midst of trying to add logical drives which were just deleted (resulting in the subsequent UNIT ATTENTION(s).) Making the rescan code robust enough to tolerate this kind of thing is too complicated for the moment. So, for now, we just don't do it. Note: This UNIT ATTENTION/LUN DATA CHANGED situation only occurs on the MSA2012. Signed-off-by:
Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
Stephen M. Cameron authored
cciss: Remove unnecessary check in scan_thread Signed-off-by:
Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-
Stephen M. Cameron authored
cciss: fix typo that causes scsi status to be lost. Signed-off-by:
Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by:
Jens Axboe <jens.axboe@oracle.com>
-