[PATCH] aoe: list new maintainer for aoe driver

2019-05-17 Thread Ed Cashin
Justin Sanders, who has extensive experience with ATA over Ethernet in general and AoE SCSI and block-device drivers in particular, is ready to take on the role of aoe maintainer. The driver needs a more active maintainer. --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) dif

Re: [PATCH] block: aoe: no need to check return value of debugfs_create functions

2019-01-22 Thread Ed Cashin
On Tue, Jan 22, 2019 at 6:29 PM Omar Sandoval wrote: ... > Now entry is uninitialized here when we assign it to d->debugfs. Thanks for noticing that.

Re: [PATCH v3] aoe: document sysfs interface

2018-02-19 Thread Ed Cashin
On 02/19/2018 01:16 PM, Aishwarya Pant wrote: Documentation has been compiled from git commit logs and descriptions in Documentation/aoe/aoe.txt. This should be useful for scripting and tracking changes in the ABI. I don't see any problems with v3. Thank you. -- Ed

Re: [PATCH] aoe: document sysfs interface

2018-02-17 Thread Ed Cashin
> On Feb 17, 2018, at 9:37 AM, Julia Lawall wrote: > > > >> On Fri, 16 Feb 2018, Ed Cashin wrote: >> >>> On 02/16/2018 10:39 AM, Aishwarya Pant wrote: >>> Documentation has been compiled from git commit logs and descriptions in >>> D

Re: [PATCH] aoe: document sysfs interface

2018-02-16 Thread Ed Cashin
On 02/16/2018 10:39 AM, Aishwarya Pant wrote: Documentation has been compiled from git commit logs and descriptions in Documentation/aoe/aoe.txt. This should be useful for scripting and tracking changes in the ABI. ... +What: /sys/block/etherd*/netif ... +Description: +

Re: [PATCH] block: aoenet: Replace GFP_ATOMIC with GFP_KERNEL in aoenet_rcv

2018-01-28 Thread Ed Cashin
Good luck in your efforts, and thanks for your work on static analysis. > On Jan 27, 2018, at 9:12 PM, Jia-Ju Bai wrote: > > > >> On 2018/1/28 1:48, Ed Cashin wrote: >> If the tool cannot tell whether the protected state is manipulated by >> *another* piece of

Re: [PATCH] block: aoenet: Replace GFP_ATOMIC with GFP_KERNEL in aoenet_rcv

2018-01-27 Thread Ed Cashin
If the tool cannot tell whether the protected state is manipulated by *another* piece of code called in atomic context, then it's insufficient. > On Jan 26, 2018, at 4:37 AM, Jia-Ju Bai wrote: > > After checking all possible call chains to aoenet_rcv(), > my tool finds that aoenet_rcv() is neve

Re: [PATCH] [RESEND] aoe: use ktime_t instead of timeval

2018-01-17 Thread Ed Cashin
On 01/17/2018 10:41 AM, Jens Axboe wrote: ... Applied, thanks Arnd/Tina. Thank you for the CC. Sorry for the lack of response in November. -- Ed

Re: [PATCH] block/aoe: discover_timer: Convert timers to use timer_setup()

2017-11-03 Thread Ed Cashin
On 11/02/2017 07:31 PM, Kees Cook wrote: In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. This refactors the discover_timer to remove the needless locking

Re: [PATCH] aoe: use setup_timer

2017-03-25 Thread Ed Cashin
On 03/24/2017 10:15 AM, Geliang Tang wrote: Use setup_timer() instead of init_timer() to simplify the code. Signed-off-by: Geliang Tang --- drivers/block/aoe/aoemain.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/block/aoe/aoemain.c b/drivers/block/aoe/aoemain

Re: [PATCH 06/15] genhd: Add return code to device_add_disk

2016-08-17 Thread Ed Cashin
On 08/17/2016 05:14 AM, Fam Zheng wrote: ... Of course, the plan is to write patches on top. I'm not cleaning up anything here because I'm concerned callers may double free (and I didn't look hard into that). Aside from Huck's concerns, the changes looked OK from aoe's perspective. -- Ed

Re: [PATCH v2 05/12] aoeblk: Generate uevent after attribute available

2016-06-30 Thread Ed Cashin
On 06/29/2016 09:59 PM, Fam Zheng wrote: It is documented that KOBJ_ADD should be generated after the object's attributes and children are ready. We can achieve this with the new disk_gen_uevents interface. Looks like an improvement, thanks! -- Ed

Re: [PATCH] aoe: remove unnecessary check for failing kthread creation

2016-02-02 Thread Ed Cashin
On 02/01/2016 10:53 AM, Insu Yun wrote: When kthread_run fails, it returns ERR, not NULL. Therefore, NULL checking is redundant. (https://www.kernel.org/doc/htmldocs/device-drivers/API-kthread-run.html) Thanks, the change looks reasonable. ... task = kthread_run(kthread, k, "%s", k->n

Re: [PATCH 09/39] aoe: drop null test before destroy functions

2015-09-14 Thread Ed Cashin
ACK. Thanks. On 09/13/2015 08:15 AM, Julia Lawall wrote: Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // Signed-off-by

Re: [PATCH 1/2] Revert "block: remove artifical max_hw_sectors cap"

2015-08-14 Thread Ed Cashin
ACK. On 08/13/2015 02:57 PM, Jeff Moyer wrote: This reverts commit 34b48db66e08ca1c1bc07cf305d672ac940268dc. That commit caused performance regressions for streaming I/O workloads on a number of different storage devices, from SATA disks to external RAID arrays. It also managed to trip up some

Re: [PATCH] aoe: Convert use of __constant_ to

2015-06-19 Thread Ed Cashin
OK. Thanks. On 06/18/2015 11:15 PM, Vaishali Thakkar wrote: In little endian cases, the macros htons and cpu_to_be16 unfolds to __swab16 which provides special case for constants. In big endian cases, __constant_htons and htons expand directly to the same expression. The same applies for __cons

Re: [PATCH] aoe: Convert use of __constant_htons to htons

2015-06-19 Thread Ed Cashin
OK. Thanks. On 06/18/2015 11:23 PM, Vaishali Thakkar wrote: In little endian cases, the macro htons unfolds to __swab16 which provides special case for constants. In big endian cases, __constant_htons and htons expand directly to the same expression. So, replace __constant_htons with htons with

Re: [Y2038] [PATCH] aoe: Use 64-bit timestamp in frame

2015-05-13 Thread Ed Cashin
On 05/13/2015 04:04 AM, Arnd Bergmann wrote: ... Shall we do the ktime_get_us() approach then? It still requires a 32-bit division like do_gettimeofday(), so it will not be as efficient as the shifted nanoseconds. It's no worse, though, right? So I think it's a good transition. Further optimi

Re: [PATCH] aoe: Use 64-bit timestamp in frame

2015-05-12 Thread Ed Cashin
On 05/12/2015 05:44 AM, Arnd Bergmann wrote: On Monday 11 May 2015 21:00:25 Ed Cashin wrote: ... In that case, there is still information about the timing embedded in the AoE tag. The send time in jiffies is a rough-grained record of the send time, and it's extracted from the tag. For

Re: [Y2038] [PATCH] aoe: Use 64-bit timestamp in frame

2015-05-12 Thread Ed Cashin
On 05/12/2015 07:14 AM, Arnd Bergmann wrote: On Tuesday 12 May 2015 11:44:21 Arnd Bergmann wrote: There are of course multiple ways to do this. One way would be to change the code to work on 32-bit nanoseconds instead of 32-bit microseconds. This requires proving that the we cannot exceed 4.29 s

Re: [PATCH] aoe: Use 64-bit timestamp in frame

2015-05-12 Thread Ed Cashin
Thanks for the expanded motivation. I'll return to your ideas tonight, but I wanted to mention that it is possible for round trips to take well over five seconds, partly because the disk on the target might be resetting. If the rough-grained mechanism in the AoE tag still works, though, that's

Re: [PATCH] aoe: Use 64-bit timestamp in frame

2015-05-11 Thread Ed Cashin
First, thanks for the patch. I do appreciate the attempt to simplify this part of the driver, but I don't think that this patch is good to merge. I'll make some comments inline below. On 05/10/2015 10:35 PM, Tina Ruchandani wrote: 'struct frame' uses two variables to store the sent timestamp -

Re: [PATCH] aoe: Use 64-bit timestamp in frame

2015-05-11 Thread Ed Cashin
I would like to see some performance measurements for this patch on a system with fast storage and multiple 10 GbE links. If not, at least a good analysis of the expected performance impact the patch will have on major architectures. Tonight I will think about whether the 2038 thing even matt

[PATCH] aoe: Update aoe maintainer information

2015-03-14 Thread Ed Cashin
The coraid.com email address is defunct. The old aoe support area hosted at coraid.com is no longer up. These changes update the email and website to current ones. Signed-off-by: Ed Cashin --- The docs need updating as well, but I want to fix the email before tackling that. MAINTAINERS | 4

Re: [PATCH] incorrect use of init_completion fixup

2014-12-23 Thread Ed Cashin
return -ENOMEM; > k->task = task; > wait_for_completion(&k->rendez); /* allow kthread to start */ > - init_completion(&k->rendez);/* for waiting for exit later */ > + reinit_completion(&k->rendez); /* for waiting for exit later

[PATCH 2/2] aoe: remove do-nothing NAME="%k" term from example udev rules

2013-08-28 Thread Ed Cashin
/etc/udev/rules.d/60-aoe.rules:26 Removing the term does not cause any problems with the creation of the special character and block device nodes. Signed-off-by: Ed Cashin --- Documentation/aoe/udev.txt |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Documentation/aoe/

[PATCH 0/2] aoe: remove too-strict BUG from aoedev teardown and update udev example

2013-08-28 Thread Ed Cashin
This patch series applies to linux-next/akpm fetched 22 August, commit a187db44dd9b24a9eed2141af962306a36935423. Yesterday's linux-next/akpm has no updates to the aoe files that could conflict, though. Ed L. Cashin (2): aoe: do not BUG if memory pressure prevented debugfs file creation aoe: r

[PATCH 1/2] aoe: do not BUG if memory pressure prevented debugfs file creation

2013-08-28 Thread Ed Cashin
If the system has trouble allocating memory for the creation of the aoe debugfs directory or of a file inside it, the debugfs member of an aoedev can be NULL. Do not treat a NULL debugfs pointer as a BUG on aoedev shutdown, avoiding the user impact of an unecessary panic. Signed-off-by: Ed

Re: [PATCH] aoe: suppress compiler warnings

2013-08-26 Thread Ed Cashin
struct aoetgt *t; > ^ Looks good, thanks. -- Ed Cashin ecas...@coraid.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.ht

Re: [PATCH 04/22] block: Abstract out bvec iterator

2013-08-13 Thread Ed Cashin
On Aug 9, 2013, Ed Cashin wrote: > On Aug 8, 2013, at 9:05 PM, Kent Overstreet wrote: > ... > > It's in the for-jens branch now. > > > Just examining the patches, I like the way it cleans up the aoe code. I > had a question about a new BUG added by the for-je

Re: [PATCH 04/22] block: Abstract out bvec iterator

2013-08-09 Thread Ed Cashin
ON(cnt > iter.bi_size); It seems like it would be better to treat that case as another indication of a problem with the target that gets logged when the AoE response is ignored, just as happens for "runt data size". That way people working on or trying out experimental AoE targets don&#x

Re: [PATCH 04/22] block: Abstract out bvec iterator

2013-08-08 Thread Ed Cashin
On Aug 8, 2013, at 8:09 PM, Kent Overstreet wrote: > On Wed, Aug 07, 2013 at 10:04:36PM -0400, Ed Cashin wrote: >> On Aug 7, 2013, at 5:54 PM, Kent Overstreet wrote: >> >>> Immutable biovecs are going to require an explicit iterator. To >>> implement immutable

Re: [PATCH] aoe: adjust ref of head for compound page tails

2013-08-08 Thread Ed Cashin
On Aug 8, 2013, at 3:56 PM, Andrew Morton wrote: > On Wed, 7 Aug 2013 20:50:09 -0400 Ed Cashin wrote: ... >> When the workaround was created, it was with the assumption that the >> zero-count pages are not always tail pages, and that seemed to be the case >> in 2007, b

Re: [PATCH] aoe: adjust ref of head for compound page tails

2013-08-07 Thread Ed Cashin
On Aug 7, 2013, at 8:05 PM, Andrew Morton wrote: > On Wed, 7 Aug 2013 19:54:45 -0400 Ed Cashin wrote: > >>> +bio_pageinc(struct bio *bio) >>> +{ >>> + struct bio_vec *bv; >>> + struct page *page; >>> + int i

Re: [PATCH] aoe: adjust ref of head for compound page tails

2013-08-07 Thread Ed Cashin
On Aug 7, 2013, at 7:35 PM, Andrew Morton wrote: > On Wed, 7 Aug 2013 19:27:40 -0400 Ed Cashin wrote: > >> On Aug 7, 2013, at 5:26 PM, Andrew Morton wrote: >> >>> On Wed, 7 Aug 2013 17:21:32 -0400 Ed Cashin wrote: >> ... >>>> Sorry. I tried to

Re: [PATCH] aoe: adjust ref of head for compound page tails

2013-08-07 Thread Ed Cashin
On Aug 7, 2013, at 7:41 PM, Ed Cashin wrote: > It sounds like it's wrong to give block pages with a zero count, so why not > just have aoe BUG_ON(compound_trans_head(bv->page->_count) == 0) until we're > sure nobody does that anymore? Ugh. I goofed the parens and

Re: [PATCH] aoe: adjust ref of head for compound page tails

2013-08-07 Thread Ed Cashin
On Aug 7, 2013, at 5:27 PM, Andrew Morton wrote: > On Wed, 7 Aug 2013 14:18:35 -0700 Andrew Morton > wrote: > >> On Wed, 7 Aug 2013 17:12:36 -0400 Ed Cashin wrote: >> >>> >>> On Aug 7, 2013, at 4:58 PM, Andrew Morton wrote: >>> >>

Re: [PATCH] aoe: adjust ref of head for compound page tails

2013-08-07 Thread Ed Cashin
On Aug 7, 2013, at 5:26 PM, Andrew Morton wrote: > On Wed, 7 Aug 2013 17:21:32 -0400 Ed Cashin wrote: ... >> Sorry. I tried to cover that but maybe should have separated it more >> clearly from the running text. >> >> The patch changes the current behavior encounte

Re: [PATCH] aoe: adjust ref of head for compound page tails

2013-08-07 Thread Ed Cashin
On Aug 7, 2013, at 5:00 PM, Andrew Morton wrote: > On Thu, 1 Aug 2013 21:29:59 -0400 Ed Cashin wrote: > >> As discussed previously, the fact that some users of the block >> layer provide bios that point to pages with a zero _count means >> that it is not OK for t

Re: [PATCH] aoe: adjust ref of head for compound page tails

2013-08-07 Thread Ed Cashin
On Aug 7, 2013, at 4:58 PM, Andrew Morton wrote: > On Thu, 1 Aug 2013 21:29:59 -0400 Ed Cashin wrote: > >> As discussed previously, > > I think I missed that. > >> the fact that some users of the block >> layer provide bios that point to pages with a zero

[PATCH] aoe: adjust ref of head for compound page tails

2013-08-01 Thread Ed Cashin
head alone for the duration between the submission of the bio and its completion, whether successful or not. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoecmd.c | 17 +++-- 1 files changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block

[PATCH] aoe: respect compound page reference tracking expectations

2013-08-01 Thread Ed Cashin
This patch series applies to today's linux-next/akpm, commit 651e600ff3ecc4ac06747313a1c49d89a9ce988e. Ed L. Cashin (1): aoe: adjust ref of head for compound page tails drivers/block/aoe/aoecmd.c | 17 +++-- 1 files changed, 7 insertions(+), 10 deletions(-) -- To unsubscribe fro

Re: [PATCH 2/2] aoe: use min() to simplify the code

2013-08-01 Thread Ed Cashin
if (!d->gd) > return 0; > p = kbasename(d->gd->disk_name); > - lim = sizeof(d->gd->disk_name); > - lim -= p - d->gd->disk_name; > - if (slen < lim) > - lim = slen; > + lim = min(sizeof(d->gd-&

Re: [PATCH 1/2] aoe: remove custom implementation of kbasename()

2013-08-01 Thread Ed Cashin
char *p; > size_t lim; > > if (!d->gd) > return 0; > - p = strrchr(d->gd->disk_name, '/'); > - if (!p) > - p = d->gd->disk_name; > - else > - p += 1; > + p = kbasename(d->gd->

[PATCH 6/6] aoe: update internal version number to 85

2013-07-23 Thread Ed Cashin
Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/block/aoe/aoe.h b/drivers/block/aoe/aoe.h index b1f24c5..14a9d19 100644 --- a/drivers/block/aoe/aoe.h +++ b/drivers/block/aoe/aoe.h @@ -1,5 +1,5 @@ /* Copyright

[PATCH 5/6] aoe: update copyright date

2013-07-23 Thread Ed Cashin
Signed-off-by: Ed Cashin --- drivers/block/aoe/aoeblk.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c index b58cbeb..d63dcf0 100644 --- a/drivers/block/aoe/aoeblk.c +++ b/drivers/block/aoe/aoeblk.c @@ -1,4 +1,4

[PATCH 4/6] aoe: fill in per-AoE-target information for debugfs file

2013-07-23 Thread Ed Cashin
This information is presented in a compact format that has evolved for easy routine scanning by expert humans, mostly developers and support technicians helping to troubleshoot or test AoE-based systems. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoeblk.c | 33

[PATCH 3/6] aoe: provide file operations for debugfs files

2013-07-23 Thread Ed Cashin
The place holder in the file contents is filled out in the following patch. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoeblk.c | 25 - 1 files changed, 24 insertions(+), 1 deletions(-) diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c index

[PATCH 2/6] aoe: add AoE-target files to debugfs

2013-07-23 Thread Ed Cashin
Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h|2 ++ drivers/block/aoe/aoeblk.c | 35 +++ drivers/block/aoe/aoedev.c |1 + 3 files changed, 38 insertions(+), 0 deletions(-) diff --git a/drivers/block/aoe/aoe.h b/drivers/block/aoe/aoe.h index

[PATCH 1/6] aoe: create and destroy debugfs directory for aoe

2013-07-23 Thread Ed Cashin
Signed-off-by: Ed Cashin --- drivers/block/aoe/aoeblk.c | 10 +- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c index 916d9ed..cb508b7 100644 --- a/drivers/block/aoe/aoeblk.c +++ b/drivers/block/aoe/aoeblk.c

[PATCH 0/6] aoe: add debugfs-based export of debug counters

2013-07-23 Thread Ed Cashin
This patch series applies to today's linux-next/akpm, commit 0c2f52fa9a7cb139617078568c48026c49927617. It adds the debugging information that the coraid.com-distributed aoe driver exports via sysfs, but instead of sysfs, it uses debugfs. With these patches applied, even without AoE targets on the

[PATCH 2/3] aoe: update copyright date

2013-07-02 Thread Ed Cashin
Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h|2 +- drivers/block/aoe/aoecmd.c |2 +- drivers/block/aoe/aoedev.c |2 +- drivers/block/aoe/aoenet.c |2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/block/aoe/aoe.h b/drivers/block/aoe/aoe.h

[PATCH 1/3] aoe: perform I/O completions in parallel

2013-07-02 Thread Ed Cashin
roughly doubles, for example, with these changes in place. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h|7 ++- drivers/block/aoe/aoecmd.c | 152 drivers/block/aoe/aoedev.c |1 - drivers/block/aoe/aoenet.c |5 +- 4 files changed

[PATCH 0/3] aoe: performance enhancements through v83

2013-07-02 Thread Ed Cashin
This patch series applies to today's linux-next/akpm, commit cbbc4a736dfca9a1ade0b13219d98d12601c1c06. This second submission includes a comment in the first patch suggested by Andrew Morton. Ed L. Cashin (3): aoe: perform I/O completions in parallel aoe: update copyright date aoe: update

[PATCH 3/3] aoe: update internal version number to v83

2013-07-02 Thread Ed Cashin
Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/block/aoe/aoe.h b/drivers/block/aoe/aoe.h index 2284f89..025c41d 100644 --- a/drivers/block/aoe/aoe.h +++ b/drivers/block/aoe/aoe.h @@ -1,5 +1,5 @@ /* Copyright

Re: [PATCH 1/3] aoe: perform I/O completions in parallel

2013-07-02 Thread Ed Cashin
e from-in-changelog trick, thanks. -- Ed Cashin ecas...@coraid.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

Re: [PATCH 10/26] block: Convert drivers to immutable biovecs

2013-06-28 Thread Ed Cashin
desc *desc; > @@ -336,31 +332,22 @@ test_block_hash: > } > > todo = 1 << v->data_dev_block_bits; > - do { > - struct bio_vec *bv; > + while (io->iter.bi_size) { > u8 *page; > - unsigned len; > - > - BUG_ON(vector >= io->io_vec_size); > - bv = &io->io_vec[vector]; > - page = kmap_atomic(bv->bv_page); > - len = bv->bv_len - offset; > - if (likely(len >= todo)) > - len = todo; > - r = crypto_shash_update(desc, > - page + bv->bv_offset + offset, len); > + struct bio_vec bv = bio_iovec_iter(bio, io->iter); > + > + page = kmap_atomic(bv.bv_page); > + r = crypto_shash_update(desc, page + bv.bv_offset, > + bv.bv_len); > kunmap_atomic(page); > + > if (r < 0) { > DMERR("crypto_shash_update failed: %d", r); > return r; > } > - offset += len; > - if (likely(offset == bv->bv_len)) { > - offset = 0; > - vector++; > - } > - todo -= len; > - } while (todo); > + > + bio_advance_iter(bio, &io->iter, bv.bv_len); > + } > > if (!v->version) { > r = crypto_shash_update(desc, v->salt, v->salt_size); > @@ -383,8 +370,6 @@ test_block_hash: > return -EIO; > } > } > - BUG_ON(vector != io->io_vec_size); > - BUG_ON(offset); > > return 0; > } > @@ -400,9 +385,6 @@ static void verity_finish_io(struct dm_verity_io *io, int > error) > bio->bi_end_io = io->orig_bi_end_io; > bio->bi_private = io->orig_bi_private; > > - if (io->io_vec != io->io_vec_inline) > - mempool_free(io->io_vec, v->vec_mempool); > - > bio_endio(bio, error); > } > > @@ -520,13 +502,7 @@ static int verity_map(struct dm_target *ti, struct bio > *bio) > > bio->bi_end_io = verity_end_io; > bio->bi_private = io; > - io->io_vec_size = bio_segments(bio); > - if (io->io_vec_size < DM_VERITY_IO_VEC_INLINE) > - io->io_vec = io->io_vec_inline; > - else > - io->io_vec = mempool_alloc(v->vec_mempool, GFP_NOIO); > - memcpy(io->io_vec, __bio_iovec(bio), > -io->io_vec_size * sizeof(struct bio_vec)); > + io->iter = bio->bi_iter; > > verity_submit_prefetch(v, io); > > diff --git a/include/linux/dm-io.h b/include/linux/dm-io.h > index f4b0aa3..6cf1f62 100644 > --- a/include/linux/dm-io.h > +++ b/include/linux/dm-io.h > @@ -29,7 +29,7 @@ typedef void (*io_notify_fn)(unsigned long error, void > *context); > > enum dm_io_mem_type { > DM_IO_PAGE_LIST,/* Page list */ > - DM_IO_BVEC, /* Bio vector */ > + DM_IO_BIO, > DM_IO_VMA, /* Virtual memory area */ > DM_IO_KMEM, /* Kernel memory */ > }; > @@ -41,7 +41,7 @@ struct dm_io_memory { > > union { > struct page_list *pl; > - struct bio_vec *bvec; > + struct bio *bio; > void *vma; > void *addr; > } ptr; > -- > 1.8.3.rc1 > -- Ed Cashin ecas...@coraid.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

Re: [Suggestion] drivers/block/aoe: using uninitialized variable.

2013-03-27 Thread Ed Cashin
e; > 928 buf->sector = bio->bi_sector; > 929 bio_pageinc(bio); > 930 buf->bv = bio_iovec(bio); > 931 buf->bv_resid = bv->bv_len; > 932 WARN_ON(buf->bv_resid == 0); > 933 } > > -- Ed Cashin ecas...@coraid.com -- To uns

Re: [PATCH] aoe: replace kmalloc and then memcpy with kmemdup

2013-03-11 Thread Ed Cashin
_ATOMIC); > + mp = kmemdup(msg, n, GFP_ATOMIC); > if (mp == NULL) { > printk(KERN_ERR "aoe: allocation failure, len=%ld\n", n); > goto bail; > } > > - memcpy(mp, msg, n); > em->msg = mp; > em->flags |

Re: [PATCH 09/27] block: Use bio_sectors() more consistently

2013-02-20 Thread Ed Cashin
dm-de...@redhat.com > CC: Neil Brown > CC: Steven Rostedt > Acked-by: Ed Cashin > --- > drivers/block/pktcdvd.c | 2 +- > drivers/md/dm-raid1.c| 2 +- > drivers/md/raid0.c | 6 +++--- > drivers/md/raid1.c | 17 - > drivers/

Re: Oops on aoe module removal

2013-01-13 Thread Ed Cashin
corruption from extra bdi_init http://thread.gmane.org/gmane.linux.kernel.stable/38909 -- Ed Cashin ecas...@coraid.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger

Re: Oops on aoe module removal

2013-01-03 Thread Ed Cashin
On Jan 3, 2013, at 3:50 PM, Ed Cashin wrote: > On Jan 3, 2013, at 2:57 PM, Ed Cashin wrote: > >> On Jan 3, 2013, at 2:45 PM, Jens Axboe wrote: >> >>> On 2013-01-03 20:28, Ed Cashin wrote: >>>> Lines: 75 >>>> >>>> On Thu, Jan 03, 20

Re: Oops on aoe module removal

2013-01-03 Thread Ed Cashin
On Jan 3, 2013, at 2:57 PM, Ed Cashin wrote: > On Jan 3, 2013, at 2:45 PM, Jens Axboe wrote: > >> On 2013-01-03 20:28, Ed Cashin wrote: >>> Lines: 75 >>> >>> On Thu, Jan 03, 2013 at 12:15:35PM -0600, Ed Cashin wrote: >>> ... >&g

Re: Oops on aoe module removal

2013-01-03 Thread Ed Cashin
On Jan 3, 2013, at 2:45 PM, Jens Axboe wrote: > On 2013-01-03 20:28, Ed Cashin wrote: >> Lines: 75 >> >> On Thu, Jan 03, 2013 at 12:15:35PM -0600, Ed Cashin wrote: >> ... >>>>>>>> On Jan 3, 2013, at 8:25 AM, Josh Boyer wrote: >&g

Re: Oops on aoe module removal

2013-01-03 Thread Ed Cashin
Lines: 75 On Thu, Jan 03, 2013 at 12:15:35PM -0600, Ed Cashin wrote: ... > >>>>> On Jan 3, 2013, at 8:25 AM, Josh Boyer wrote: ... > >>>>>> [699170.611997] aoe: AoE v47 initialised. ... > >>>>>> [699231.308319] WARNING:

Re: Oops on aoe module removal

2013-01-03 Thread Ed Cashin
On Jan 3, 2013, at 10:34 AM, Jens Axboe wrote: > On 2013-01-03 16:28, Ed Cashin wrote: >> On Jan 3, 2013, at 9:12 AM, Jens Axboe wrote: >> >>> On 2013-01-03 15:09, Jens Axboe wrote: >>>> On 2013-01-03 15:02, Ed Cashin wrote: >>>>> On Jan 3, 2013

Re: Oops on aoe module removal

2013-01-03 Thread Ed Cashin
On Jan 3, 2013, at 9:12 AM, Jens Axboe wrote: > On 2013-01-03 15:09, Jens Axboe wrote: >> On 2013-01-03 15:02, Ed Cashin wrote: >>> On Jan 3, 2013, at 8:25 AM, Josh Boyer wrote: >>> >>>> Hello, >>>> >>>> We have a user that has re

Re: Oops on aoe module removal

2013-01-03 Thread Ed Cashin
st_del+0x81/0x90 [] percpu_counter_destroy+0x28/0x50 [] bdi_destroy+0xf9/0x150 [] blk_release_queue+0x60/0x80 [] kobject_release+0x8d/0x240 [] ? kobject_release+0x0/0x240 [] kref_put+0x37/0x70 [] kobject_put+0x27/0x60 [] blk_cleanup_queue+0x57/0x70 [] aoedev_freedev+0x125/0x140 [aoe] [] aoedev_exit+0x6d/0

Re: [patch] aoe: use after free in aoedev_by_aoeaddr()

2012-12-07 Thread Ed Cashin
+ d = NULL; > goto out; > } > d->ntargets = NTARGETS; That looks good, thanks. If smatch found that, then I have to figure out what I'm doing wrong, because I ran sparse and smatch on the latest patch series until they were clean. :/ -- Ed Cashin

Re: [PATCH 2/7] aoe: avoid races between device destruction and discovery

2012-12-06 Thread Ed Cashin
On Dec 4, 2012, at 6:45 PM, Andrew Morton wrote: > On Mon, 3 Dec 2012 20:42:56 -0500 > Ed Cashin wrote: > >> This change avoids a race that could result in a NULL pointer >> derference following a WARNing from kobject_add_internal, "don't >> try to register

Re: [PATCH 1/7] aoe: improve handling of misbehaving network paths

2012-12-06 Thread Ed Cashin
On Dec 4, 2012, at 6:39 PM, Andrew Morton wrote: > On Mon, 3 Dec 2012 20:40:55 -0500 > Ed Cashin wrote: ... >> +static void >> +ata_rw_frameinit(struct frame *f) >> +{ >> +struct aoetgt *t; >> +struct aoe_hdr *h; >> +struct aoe_atahdr *ah;

[PATCH 7/7] aoe: update internal version number to 81

2012-12-03 Thread Ed Cashin
This version number is printed to the console on module initialization and is available in sysfs, which is where the userland aoe-version tool looks for it. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h |3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/drivers

[PATCH 6/7] aoe: identify source of runt AoE packets

2012-12-03 Thread Ed Cashin
This change only affects experimental AoE storage networks. It modifies the console message about runt packets detected so that the AoE major and minor addresses of the AoE target that generated the runt are mentioned. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoecmd.c | 10

[PATCH 5/7] aoe: allow comma separator in aoe_iflist value

2012-12-03 Thread Ed Cashin
, modprobe aoe aoe_iflist=eth2,eth3 Before, it was inconvenient to get the quoting right in shell scripts when setting aoe_iflist to have more than one network interface. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h|2 +- drivers/block/aoe/aoenet.c |2 +- 2 files changed, 2

[PATCH 4/7] aoe: allow user to disable target failure timeout

2012-12-03 Thread Ed Cashin
marks the aoe device as "down" and fails all I/O. The new meaning of an aoe_deadsecs of zero is for the driver to retransmit commands indefinitely. Signed-off-by: Ed Cashin --- Documentation/aoe/aoe.txt |4 +++- drivers/block/aoe/aoecmd.c |4 +++- 2 files changed, 6 insert

[PATCH 3/7] aoe: use dynamic number of remote ports for AoE storage target

2012-12-03 Thread Ed Cashin
many AoE targets with fewer than eight MAC addresses each. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h|6 ++-- drivers/block/aoe/aoeblk.c |2 +- drivers/block/aoe/aoecmd.c | 50 ++- drivers/block/aoe/aoedev.c | 12 - 4

[PATCH 2/7] aoe: avoid races between device destruction and discovery

2012-12-03 Thread Ed Cashin
or a bad aoedev pointer remains from a time when about half of this patch was done, and it was possible for the bdev->bd_disk->private_data to become corrupted. The check should be removed eventually, but it is not expected to add significant overhead, occurring in the aoeblk_open routin

[PATCH 1/7] aoe: improve handling of misbehaving network paths

2012-12-03 Thread Ed Cashin
es, then the path is "redeemed", and its taint is removed. This mechanism has been shown to be helpful in transparently handling and recovering from real-world network "brown outs" in ways that the earlier "shoot the help-needing target in the head" mechanism could not.

[PATCH 0/7] aoe: driver improvements and fixes through v81

2012-12-03 Thread Ed Cashin
This patch series applies to today's linux-next/akpm, commit a5944abc848a1b8e5329a631a84e35a3b0249ecb. Ed L. Cashin (7): aoe: improve handling of misbehaving network paths aoe: avoid races between device destruction and discovery aoe: use dynamic number of remote ports for AoE storage target

Re: [PATCH 0/8] aoe: miscellaneous fixes follow-up recent patch submissions

2012-11-28 Thread Ed Cashin
On Nov 28, 2012, at 6:42 PM, Andrew Morton wrote: > On Wed, 21 Nov 2012 19:52:41 -0500 > Ed Cashin wrote: > >> This patch series applies to today's linux-next/akpm, commit >> d3faae60d84f586ff8937b77c8476bca1b5f8ec6. >> >> Ed L. Cashin (8): >&g

[PATCH 3/8] aoe: increase default cap on outstanding AoE commands in the network

2012-11-22 Thread Ed Cashin
. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoecmd.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c index d609c47..53b9869 100644 --- a/drivers/block/aoe/aoecmd.c +++ b/drivers/block/aoe/aoecmd.c @@ -29,7 +29,7

[PATCH 8/8] aoe: return real minor number for static minors

2012-11-22 Thread Ed Cashin
surprising results when device nodes names do not match the AoE target. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoedev.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c index 80b3d3e..aaaea66 100644 --- a/drivers

[PATCH 7/8] aoe: initialize sysminor to avoid compiler warning

2012-11-22 Thread Ed Cashin
arning. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoedev.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c index 88ccd6d..80b3d3e 100644 --- a/drivers/block/aoe/aoedev.c +++ b/drivers/block/aoe/aoedev.c @

[PATCH 6/8] aoe: make error messages more specific in static minor allocation

2012-11-22 Thread Ed Cashin
For some special-purpose systems where udev isn't present, static allocation of minor numbers is desirable. This update distinguishes different failure scenarios, to help the user understand what went wrong. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoedev.c |

[PATCH 5/8] aoe: remove call to request handler from I/O completion

2012-11-22 Thread Ed Cashin
There is no need to call the request handler function in the I/O completion routine. The user impact of not doing it is a more "nice" aoe driver that is less susceptible to causing soft lockups. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoecmd.c |2 -- 1 files changed, 0

[PATCH 4/8] aoe: cleanup: correct comment for aoetgt nout

2012-11-22 Thread Ed Cashin
A misplaced comment was attached to the nout member of the aoetgt. This change corrects the comment. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/block/aoe/aoe.h b/drivers/block/aoe/aoe.h index 9655ce3

[PATCH 2/8] aoe: remove vestigial request queue allocation

2012-11-22 Thread Ed Cashin
oportional to the number of AoE targets discovered. This patch removes the memory leak and cleans up vestiges of the old do-nothing queue from the aoeblk_gdalloc function. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoeblk.c | 17 - 1 files changed, 4 insertions(+), 13

[PATCH 1/8] aoe: copy fallback timing information on destination failover

2012-11-22 Thread Ed Cashin
ilure of a port on the AoE target. Being effected will mean that an AoE target could be considered "down" too eagerly. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoecmd.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/block/aoe/aoecmd.c b/driver

[PATCH 0/8] aoe: miscellaneous fixes follow-up recent patch submissions

2012-11-22 Thread Ed Cashin
This patch series applies to today's linux-next/akpm, commit d3faae60d84f586ff8937b77c8476bca1b5f8ec6. Ed L. Cashin (8): aoe: copy fallback timing information on destination failover aoe: remove vestigial request queue allocation aoe: increase default cap on outstanding AoE commands in the n

Re: [PATCH 2/8] aoe: provide ATA identify device content to user on request

2012-11-08 Thread Ed Cashin
On Nov 8, 2012, at 7:40 PM, Jeff Garzik wrote: > On 11/08/2012 11:32 AM, Ed Cashin wrote: >> This patch makes the aoe driver follow expected behavior when >> the user uses ioctl to get the ATA device identify information. >> >> Signed-off-by: Ed Cashin >>

[PATCH 8/8] aoe: update driver-internal version to 64+

2012-11-08 Thread Ed Cashin
Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/block/aoe/aoe.h b/drivers/block/aoe/aoe.h index c253cca..9655ce3 100644 --- a/drivers/block/aoe/aoe.h +++ b/drivers/block/aoe/aoe.h @@ -1,5 +1,6

[PATCH 7/8] aoe: commands in retransmit queue use new destination on failure

2012-11-08 Thread Ed Cashin
arget failure before there's time for the retransmit timer to run again, decide to retransmit again, and finally update the destination to a working MAC address on the AoE target. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h|1 + drivers/block/aoe/aoecm

[PATCH 6/8] aoe: use high-resolution RTTs with fallback to low-res

2012-11-08 Thread Ed Cashin
ce is relatively large. Otherwise the AoE targets could be considered failed inappropriately. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h|9 --- drivers/block/aoe/aoecmd.c | 57 ++- 2 files changed, 55 insertions(+), 11 deletions(-)

[PATCH 5/8] aoe: manipulate aoedev network stats under lock

2012-11-08 Thread Ed Cashin
n would be calculated. Without this change, the effect of the bug would be rare unecessary but benign retransmissions. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoecmd.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoec

[PATCH 4/8] aoe: err device: include MAC addresses for unexpected responses

2012-11-08 Thread Ed Cashin
unexpected responses, so that when they occur, it's more easy to determine the network paths to which they belong. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoecmd.c |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe

[PATCH 3/8] aoe: improve network congestion handling

2012-11-08 Thread Ed Cashin
he failover case when AoE commands being retransmitted are transferred from one retransmit queue to another. Another upcoming patch increases the timing accuracy. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h| 16 +++-- drivers/block/aoe/aoecmd.c | 173 +++-

[PATCH 2/8] aoe: provide ATA identify device content to user on request

2012-11-08 Thread Ed Cashin
This patch makes the aoe driver follow expected behavior when the user uses ioctl to get the ATA device identify information, allowing access to model, serial number, etc. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoe.h|1 + drivers/block/aoe/aoeblk.c | 30

[PATCH 1/8] aoe: avoid running request handler on plugged queue

2012-11-08 Thread Ed Cashin
e. Signed-off-by: Ed Cashin --- drivers/block/aoe/aoecmd.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c index c491fba..3ce01f6 100644 --- a/drivers/block/aoe/aoecmd.c +++ b/drivers/block/aoe/aoecmd.c @@ -92

[PATCH 0/8] aoe: improved network congestion handling from v60 to v64+

2012-11-08 Thread Ed Cashin
This patch series is based on linux-next/akpm from 8 Nov, commit db3846344ad57222. Ed L. Cashin (8): aoe: avoid running request handler on plugged queue aoe: provide ATA identify device content to user on request aoe: improve network congestion handling aoe: err device: include MAC address

Re: [PATCH 1/8] aoe: avoid running request handler on plugged queue

2012-11-08 Thread Ed Cashin
On Nov 8, 2012, at 2:26 PM, Andrew Morton wrote: > On Thu, 8 Nov 2012 11:29:32 -0500 > Ed Cashin wrote: > >> Signed-off-by: Ed Cashin > > Could you please prepare decent changelogs for the patches? Several of > these appear to be bugfixes but we have no descripti

  1   2   >