[PATCH] drivers: target: target_core_transport.c: build warning

2014-09-09 Thread Sudip Mukherjee
build is giving : warning: passing argument 1 of 'strlen' makes pointer from integer without a cast [enabled by default] the snprintf after the strlen is trying to put the "Unsupported" string at the end of exising string. so len should give the string length here Signed-off-by: Sudip Mukherjee

Re: [PATCH] drivers: target: target_core_transport.c: build warning

2014-09-09 Thread Sudip Mukherjee
tifier_type); > ret = -EINVAL; > -- > 1.8.1.2 > please discard this patch. This is based on next-20140908 , and the issue has been corrected in next-20140909. thanks sudip -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

[REGRESSION 3.17] scsi (uas) disks no longer using tagged command queuing

2014-09-09 Thread Hans de Goede
Hi All, While working on making error handling in the uas driver more robust, I noticed that all the commands being send to a sata ssd hooked up over uas were untagged, where I would expect tcq to be used, as that is the big advantage of uas over usb-storage / bot. Taking the uas.c file from 3.17

[PATCH 0/8] block: per-distpatch_queue flush machinery

2014-09-09 Thread Ming Lei
Hi, As recent discussion, especially suggested by Christoph, this patchset implements per-distpatch_queue flush machinery, so that: - current init_request and exit_request callbacks can cover flush request too, then the ugly and buggy copying way of initializing flush requ

[PATCH 8/8] blk-mq: support per-distpatch_queue flush machinery

2014-09-09 Thread Ming Lei
This patch supports to run one single lush machinery for each blk-mq dispatch queue, so that: - current init_request and exit_request callbacks can cover flush request too, then the ugly and buggy way of initializing flush request's pdu can be fixed - flushing performance gets improved in case of

[PATCH 7/8] block: introduce 'blk_mq_ctx' parameter to blk_get_flush_queue

2014-09-09 Thread Ming Lei
This patch adds 'blk_mq_ctx' parameter to blk_get_flush_queue(), so that this function can find the corresponding blk_flush_queue bound with current mq context since the flush queue will become per hw-queue. For legacy queue, the parameter can be simply 'NULL'. For multiqueue case, the parameter

[PATCH 4/8] block: avoid to use q->flush_rq directly

2014-09-09 Thread Ming Lei
This patch trys to use local variable to access flush request, so that we can convert to per-queue flush machinery a bit easier. Signed-off-by: Ming Lei --- block/blk-flush.c | 17 + 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/block/blk-flush.c b/block/blk-flu

[PATCH 1/8] blk-mq: allocate flush_rq in blk_mq_init_flush()

2014-09-09 Thread Ming Lei
It is reasonable to allocate flush req in blk_mq_init_flush(). Signed-off-by: Ming Lei --- block/blk-flush.c | 11 ++- block/blk-mq.c| 16 ++-- block/blk-mq.h|2 +- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/block/blk-flush.c b/block/blk-

[PATCH 5/8] block: introduce blk_flush_queue to drive flush machinery

2014-09-09 Thread Ming Lei
This patch introduces 'struct blk_flush_queue' and puts all flush machinery related stuff into this strcuture, so that - flush implementation details aren't exposed to driver - it is easy to convert to per dispatch-queue flush machinery This patch is basically a mechanical replace

[PATCH 6/8] block: flush: avoid to figure out flush queue unnecessarily

2014-09-09 Thread Ming Lei
Just figuring out flush queue at the entry of kicking off flush machinery and request's completion handler, then pass it through. Signed-off-by: Ming Lei --- block/blk-flush.c | 30 -- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/block/blk-flush.c

[PATCH 3/8] block: move flush initialized stuff to blk_flush_init

2014-09-09 Thread Ming Lei
These stuff is always used with flush req together, so we can do that safely. Signed-off-by: Ming Lei --- block/blk-core.c |3 --- block/blk-flush.c |4 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 0a9d172..222fe84 100644

[PATCH 2/8] block: introduce blk_init_flush and its pair

2014-09-09 Thread Ming Lei
These two functions are introduced to initialize and de-initialize flush stuff centrally. Signed-off-by: Ming Lei --- block/blk-core.c |5 ++--- block/blk-flush.c | 19 ++- block/blk-mq.c|2 +- block/blk-mq.h|1 - block/blk-sysfs.c |4 ++-- block/blk.h

Re: [PATCH 02/11] megaraid_sas : Use writeq for 64bit pci write to avoid spinlock overhead

2014-09-09 Thread Tomas Henzl
On 09/06/2014 03:25 PM, sumit.sax...@avagotech.com wrote: > Use writeq() for 64bit PCI write instead of writel() to avoid additional lock > overhead. > > Signed-off-by: Sumit Saxena > Signed-off-by: Kashyap Desai > --- > drivers/scsi/megaraid/megaraid_sas_fusion.c | 8 > 1 file changed

Re: [PATCH 03/11] megaraid_sas : Update threshold based reply post host index register

2014-09-09 Thread Tomas Henzl
On 09/06/2014 03:25 PM, sumit.sax...@avagotech.com wrote: > Current driver updates reply post host index to let firmware know that > replies are processed, > while returning from ISR function, only if there is no oustanding replies in > reply queue. > > Driver will free the request frame immediat

[PATCH 1/2] uas: Set no_report_opcodes

2014-09-09 Thread Hans de Goede
asm1051e usb <-> sata bridges hang when receiving a report opcodes scsi cmnd. Take a page out of the usb-storage book, and simple disable no_report_opcodes outright. Cc: sta...@vger.kernel.org # 3.16 Signed-off-by: Hans de Goede --- drivers/usb/storage/uas.c | 2 ++ 1 file changed, 2 insertions(

[PATCH 2/2] uas: Disable uas on ASM1051 devices

2014-09-09 Thread Hans de Goede
Even with REPORT SUPPORTED OPERATION CODES blacklisted the ASM1051 chipset still does not work when combined with some disks, e.g. a Crucial M500 ssd. When used with a troublesome disk, the chipset throws all kinds of USB errors, and eventually hangs, where as in BOT mode it works fine. To make m

[PATCH fixes for 3.17 0/2] uas: Disable uas on ASM1051 devices

2014-09-09 Thread Hans de Goede
Hi Greg, I've received a number of bug-reports from users related to uas on ASM1051 chipset using devices. After some searching around I've managed to get myself an ASM1051 device. As a result I've spend the last 4 days trying to get the ASM1051 chipset to work. After some initial success which m

Re: WARNING in block layer triggered in 3.17-rc3

2014-09-09 Thread Alan Stern
On Tue, 9 Sep 2014, Tejun Heo wrote: > Hello, > > On Mon, Sep 08, 2014 at 01:42:44PM -0400, Alan Stern wrote: > > > This looks like a nasty hack. In theory the QUEUE_FLAG_INIT_DONE should > > > be unset on blk_unregister_queue() to match the teardown; it's only > > > accident it isn't. del_gend

Re: WARNING in block layer triggered in 3.17-rc3

2014-09-09 Thread Tejun Heo
Hello, Alan. On Tue, Sep 09, 2014 at 11:08:22AM -0400, Alan Stern wrote: > Sorry, the meaning wasn't clear. I meant that the existing code > doesn't work. The patch seems to work okay (except that I can't use > queue_flag_test_and_set because the queue isn't locked at that point). > I'll sub

Re: [PATCH 0/8] block: per-distpatch_queue flush machinery

2014-09-09 Thread Christoph Hellwig
Hi Ming, thanks for doing this work! I've only taken a very cursory look at the series and I like most of it. But can you explain why you're not simply incrementing the number of allocated requests in the blk-mq request allocation code instead of allocating the flush request separately in the la

Re: [PATCH 2/2] uas: Disable uas on ASM1051 devices

2014-09-09 Thread Alan Stern
On Tue, 9 Sep 2014, Hans de Goede wrote: > Even with REPORT SUPPORTED OPERATION CODES blacklisted the ASM1051 chipset > still does not work when combined with some disks, e.g. a Crucial M500 ssd. > > When used with a troublesome disk, the chipset throws all kinds of USB errors, > and eventually h

Re: [REGRESSION 3.17] scsi (uas) disks no longer using tagged command queuing

2014-09-09 Thread Christoph Hellwig
On Tue, Sep 09, 2014 at 11:15:24AM +0200, Hans de Goede wrote: > Taking the uas.c file from 3.17, and building it for 3.16 restores > the use of tcq (debugged by adding a printk blk_rq_tagged + request->tag). > > So either uas is doing something wrong which happened to work in > 3.16, or something

Re: [PATCH] scsi_debug: deadlock between completions and surprise module removal

2014-09-09 Thread Christoph Hellwig
On Mon, Sep 08, 2014 at 04:31:01PM -0400, Douglas Gilbert wrote: > stop_all_queued() is doing hrtimer_cancel(), del_timer_sync() > or tasklet_kill() on all the scsi_cmnd objects that are > "in play". Unless another mechanism calls the .eh_abort_handler > entry point reliably on each "in play" comma

Re: [PATCH 0/8] block: per-distpatch_queue flush machinery

2014-09-09 Thread Ming Lei
On Tue, Sep 9, 2014 at 11:20 PM, Christoph Hellwig wrote: > Hi Ming, > > thanks for doing this work! > > I've only taken a very cursory look at the series and I like most of it. > > But can you explain why you're not simply incrementing the number of > allocated requests in the blk-mq request allo

[PATCH] Block: fix unbalanced bypass-disable in blk_register_queue

2014-09-09 Thread Alan Stern
When a queue is registered, the block layer turns off the bypass setting (because bypass is enabled when the queue is created). This doesn't work well for queues that are unregistered and then registered again; we get a WARNING because of the unbalanced calls to blk_queue_bypass_end(). This patch

Re: [PATCH 04/11] megaraid_sas : Firmware crash dump feature support

2014-09-09 Thread Tomas Henzl
On 09/06/2014 03:25 PM, sumit.sax...@avagotech.com wrote: > This feature will provide similar interface as kernel crash dump feature. > When megaraid firmware encounter any crash, driver will collect the firmware > raw image and > dump it into pre-configured location. > > Driver will allocate two

Re: [PATCH 1/2] uas: Set no_report_opcodes

2014-09-09 Thread Christoph Hellwig
On Tue, Sep 09, 2014 at 04:59:59PM +0200, Hans de Goede wrote: > asm1051e usb <-> sata bridges hang when receiving a report opcodes scsi cmnd. > Take a page out of the usb-storage book, and simple disable no_report_opcodes > outright. Given that this device also seems broken in other ways can we w

RE: [PATCH 04/11] megaraid_sas : Firmware crash dump feature support

2014-09-09 Thread Elliott, Robert (Server Storage)
> -Original Message- > From: linux-scsi-ow...@vger.kernel.org [mailto:linux-scsi- > ow...@vger.kernel.org] On Behalf Of Tomas Henzl > Sent: Tuesday, 09 September, 2014 10:54 AM > Subject: Re: [PATCH 04/11] megaraid_sas : Firmware crash dump feature > support > > On 09/06/2014 03:25 PM, s

Re: [PATCH v3 16/17] arcmsr: support new adapter ARC12x4 series

2014-09-09 Thread Christoph Hellwig
Ching, do you have a chance to address Thomas second concern below? As far as I can tell (Thomas, please correct me) that's the last outstanding concern, and I'd really like to merge the arcmsr updates for the Linux 3.18 merge window. -- To unsubscribe from this list: send the line "unsubscribe

Re: [PATCH] Block: fix unbalanced bypass-disable in blk_register_queue

2014-09-09 Thread Tejun Heo
On Tue, Sep 09, 2014 at 11:50:58AM -0400, Alan Stern wrote: > When a queue is registered, the block layer turns off the bypass > setting (because bypass is enabled when the queue is created). This > doesn't work well for queues that are unregistered and then registered > again; we get a WARNING be

Re: [PATCH] Block: fix unbalanced bypass-disable in blk_register_queue

2014-09-09 Thread Shirish Pargaonkar
Tested-by: Shirish Pargaonkar On Tue, Sep 9, 2014 at 10:50 AM, Alan Stern wrote: > When a queue is registered, the block layer turns off the bypass > setting (because bypass is enabled when the queue is created). This > doesn't work well for queues that are unregistered and then registered > ag

Re: [PATCH 1/8] blk-mq: allocate flush_rq in blk_mq_init_flush()

2014-09-09 Thread Christoph Hellwig
On Tue, Sep 09, 2014 at 09:05:42PM +0800, Ming Lei wrote: > It is reasonable to allocate flush req in blk_mq_init_flush(). > > Signed-off-by: Ming Lei Looks good, Reviewed-by: Christoph Hellwig -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to

Re: [PATCH 2/8] block: introduce blk_init_flush and its pair

2014-09-09 Thread Christoph Hellwig
On Tue, Sep 09, 2014 at 09:05:43PM +0800, Ming Lei wrote: > These two functions are introduced to initialize and de-initialize > flush stuff centrally. > > Signed-off-by: Ming Lei Looks good, Reviewed-by: Christoph Hellwig -- To unsubscribe from this list: send the line "unsubscribe linux-scsi

Re: [PATCH 3/8] block: move flush initialized stuff to blk_flush_init

2014-09-09 Thread Christoph Hellwig
On Tue, Sep 09, 2014 at 09:05:44PM +0800, Ming Lei wrote: > These stuff is always used with flush req together, so > we can do that safely. Little wording nitpick: in the subject s/initialized stuff/initialization/ and in the body: These fields are always used with the flush request, so initial

Re: [PATCH 4/8] block: avoid to use q->flush_rq directly

2014-09-09 Thread Christoph Hellwig
On Tue, Sep 09, 2014 at 09:05:45PM +0800, Ming Lei wrote: > This patch trys to use local variable to access flush request, > so that we can convert to per-queue flush machinery a bit easier. > > Signed-off-by: Ming Lei Looks good, Reviewed-by: Christoph Hellwig -- To unsubscribe from this list

Re: [PATCH 6/8] block: flush: avoid to figure out flush queue unnecessarily

2014-09-09 Thread Christoph Hellwig
Looks good, Reviewed-by: Christoph Hellwig -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 5/8] block: introduce blk_flush_queue to drive flush machinery

2014-09-09 Thread Christoph Hellwig
On Tue, Sep 09, 2014 at 09:05:46PM +0800, Ming Lei wrote: > This patch introduces 'struct blk_flush_queue' and puts all > flush machinery related stuff into this strcuture, so that s/stuff/fields/ s/strcuture/structure/ Looks good, but a few more nitpicks below. Reviewed-by: Christoph Hellwig

Re: [PATCH 8/8] blk-mq: support per-distpatch_queue flush machinery

2014-09-09 Thread Christoph Hellwig
> + if (hctx) { > + int cmd_sz = q->tag_set->cmd_size; > + int node = hctx->numa_node; > + > + fq = kzalloc_node(sizeof(*fq), GFP_KERNEL, node); > + if (!fq) > + goto failed; > + > + rq_sz = round_up(rq_sz + cmd_sz,

Re: [PATCH 5/8] block: introduce blk_flush_queue to drive flush machinery

2014-09-09 Thread Jens Axboe
On 09/09/2014 12:43 PM, Christoph Hellwig wrote: > On Tue, Sep 09, 2014 at 09:05:46PM +0800, Ming Lei wrote: >> This patch introduces 'struct blk_flush_queue' and puts all >> flush machinery related stuff into this strcuture, so that > > s/stuff/fields/ > s/strcuture/structure/ > > Looks good, bu

Re: [PATCH 2/2] uas: Disable uas on ASM1051 devices

2014-09-09 Thread Hans de Goede
Hi, On 09/09/2014 05:23 PM, Alan Stern wrote: On Tue, 9 Sep 2014, Hans de Goede wrote: Even with REPORT SUPPORTED OPERATION CODES blacklisted the ASM1051 chipset still does not work when combined with some disks, e.g. a Crucial M500 ssd. When used with a troublesome disk, the chipset throws a

Re: [RFC v2 3/6] kthread: warn on kill signal if not OOM

2014-09-09 Thread Luis R. Rodriguez
On Mon, Sep 8, 2014 at 10:38 PM, James Bottomley wrote: > On Tue, 2014-09-09 at 10:10 +0900, Tejun Heo wrote: >> Hello, Luis. >> >> On Mon, Sep 08, 2014 at 06:04:23PM -0700, Luis R. Rodriguez wrote: >> > > I have no idea how the selection should be. It could be per-insmod or >> > > maybe just a s

Re: [PATCH 1/2] uas: Set no_report_opcodes

2014-09-09 Thread Hans de Goede
Hi, On 09/09/2014 06:01 PM, Christoph Hellwig wrote: On Tue, Sep 09, 2014 at 04:59:59PM +0200, Hans de Goede wrote: asm1051e usb <-> sata bridges hang when receiving a report opcodes scsi cmnd. Take a page out of the usb-storage book, and simple disable no_report_opcodes outright. Given that

Re: [RFC v2 3/6] kthread: warn on kill signal if not OOM

2014-09-09 Thread James Bottomley
On Tue, 2014-09-09 at 12:16 -0700, Luis R. Rodriguez wrote: > On Mon, Sep 8, 2014 at 10:38 PM, James Bottomley > wrote: > > If we want to sort out some sync/async mechanism for probing devices, as > > an agreement between the init systems and the kernel, that's fine, but > > its a to-be negotiated

Re: [RFC v2 3/6] kthread: warn on kill signal if not OOM

2014-09-09 Thread Luis R. Rodriguez
On Tue, Sep 9, 2014 at 12:35 PM, James Bottomley wrote: > On Tue, 2014-09-09 at 12:16 -0700, Luis R. Rodriguez wrote: >> On Mon, Sep 8, 2014 at 10:38 PM, James Bottomley >> wrote: >> > If we want to sort out some sync/async mechanism for probing devices, as >> > an agreement between the init syst

Re: [RFC v2 3/6] kthread: warn on kill signal if not OOM

2014-09-09 Thread Tejun Heo
Hey, James. On Tue, Sep 09, 2014 at 12:35:46PM -0700, James Bottomley wrote: > I don't have very strong views on this one. However, I've got to say > from a systems point of view that if the desire is to flag when the > module is having problems, probing and initializing synchronously in a > thre

Re: [RFC v2 3/6] kthread: warn on kill signal if not OOM

2014-09-09 Thread Jiri Kosina
On Tue, 9 Sep 2014, Luis R. Rodriguez wrote: > By design it seems systemd should not allow worker processes to block > indefinitely and in fact it currently uses the same timeout for all > types of worker processes. And I whole-heartedly believe this is something that fundamentally needs to be

Re: [RFC v2 3/6] kthread: warn on kill signal if not OOM

2014-09-09 Thread James Bottomley
On Wed, 2014-09-10 at 06:42 +0900, Tejun Heo wrote: > Hey, James. > > On Tue, Sep 09, 2014 at 12:35:46PM -0700, James Bottomley wrote: > > I don't have very strong views on this one. However, I've got to say > > from a systems point of view that if the desire is to flag when the > > module is hav

Re: [RFC v2 3/6] kthread: warn on kill signal if not OOM

2014-09-09 Thread Tejun Heo
Hello, On Tue, Sep 09, 2014 at 03:26:02PM -0700, James Bottomley wrote: > > We no longer report back error on probe failure on module load. > > Yes, we do; for every probe failure of a device on a driver we'll print > a warning (see drivers/base/dd.c). Now if someone is proposing we > should rep

Re: [RFC v2 3/6] kthread: warn on kill signal if not OOM

2014-09-09 Thread James Bottomley
On Wed, 2014-09-10 at 07:41 +0900, Tejun Heo wrote: > Hello, > > On Tue, Sep 09, 2014 at 03:26:02PM -0700, James Bottomley wrote: > > > We no longer report back error on probe failure on module load. > > > > Yes, we do; for every probe failure of a device on a driver we'll print > > a warning (se

Re: [RFC v2 3/6] kthread: warn on kill signal if not OOM

2014-09-09 Thread Tejun Heo
Hello, James. On Tue, Sep 09, 2014 at 03:46:23PM -0700, James Bottomley wrote: > If you want the return of an individual device probe a log scraper gives > it to you ... and nothing else does currently. The advantage of the > prink in dd.c is that it's standard for everything and can be scanned >

Re: [RFC v2 3/6] kthread: warn on kill signal if not OOM

2014-09-09 Thread Dmitry Torokhov
On Tuesday, September 09, 2014 03:46:23 PM James Bottomley wrote: > On Wed, 2014-09-10 at 07:41 +0900, Tejun Heo wrote: > > > > The thing is that we have to have dynamic mechanism to listen for > > device attachments no matter what and such mechanism has been in place > > for a long time at this p

Re: [RFC v2 3/6] kthread: warn on kill signal if not OOM

2014-09-09 Thread Tejun Heo
On Tue, Sep 09, 2014 at 12:25:29PM +0900, Tejun Heo wrote: > Hello, > > On Mon, Sep 08, 2014 at 08:19:12PM -0700, Luis R. Rodriguez wrote: > > On the systemd side of things it should enable this sysctl and for > > older kernels what should it do? > > Supposing the change is backported via -stable

Re: [PATCH 5/8] block: introduce blk_flush_queue to drive flush machinery

2014-09-09 Thread Ming Lei
On Wed, Sep 10, 2014 at 2:43 AM, Christoph Hellwig wrote: > On Tue, Sep 09, 2014 at 09:05:46PM +0800, Ming Lei wrote: >> This patch introduces 'struct blk_flush_queue' and puts all >> flush machinery related stuff into this strcuture, so that > > s/stuff/fields/ > s/strcuture/structure/ > > Looks

Re: [PATCH 5/8] block: introduce blk_flush_queue to drive flush machinery

2014-09-09 Thread Ming Lei
On Wed, Sep 10, 2014 at 2:55 AM, Jens Axboe wrote: > On 09/09/2014 12:43 PM, Christoph Hellwig wrote: >> On Tue, Sep 09, 2014 at 09:05:46PM +0800, Ming Lei wrote: >>> This patch introduces 'struct blk_flush_queue' and puts all >>> flush machinery related stuff into this strcuture, so that >> >> s/

Re: [PATCH 8/8] blk-mq: support per-distpatch_queue flush machinery

2014-09-09 Thread Ming Lei
On Wed, Sep 10, 2014 at 2:48 AM, Christoph Hellwig wrote: >> + if (hctx) { >> + int cmd_sz = q->tag_set->cmd_size; >> + int node = hctx->numa_node; >> + >> + fq = kzalloc_node(sizeof(*fq), GFP_KERNEL, node); >> + if (!fq) >> +

lk 3.17-rc4 blk_mq large write problems

2014-09-09 Thread Douglas Gilbert
A few days ago I was trying to create a large file (say 16 GB) of zeros on an ext4 file system: dd if=/dev/zero bs=64k count=256k of=zero_16g.bin After about 5 seconds there was a NULL de-reference that crashed the machine (shown below). This was with a clean version of lk 3.17-rc4 (from kerne

Re: [RFC v2 3/6] kthread: warn on kill signal if not OOM

2014-09-09 Thread Tom Gundersen
On Tue, Sep 9, 2014 at 3:26 AM, Luis R. Rodriguez wrote: > On Mon, Sep 8, 2014 at 6:22 PM, Tejun Heo wrote: >> On Tue, Sep 09, 2014 at 10:10:59AM +0900, Tejun Heo wrote: >>> I'm not too convinced this is such a difficult problem to figure out. >>> We already have most of logic in place and the on

Re: [systemd-devel] [RFC v2 3/6] kthread: warn on kill signal if not OOM

2014-09-09 Thread Tom Gundersen
On Tue, Sep 9, 2014 at 10:45 PM, Luis R. Rodriguez wrote: > On Tue, Sep 9, 2014 at 12:35 PM, James Bottomley > wrote: >> On Tue, 2014-09-09 at 12:16 -0700, Luis R. Rodriguez wrote: >>> On Mon, Sep 8, 2014 at 10:38 PM, James Bottomley >>> wrote: >>> > If we want to sort out some sync/async mechan

Re: [PATCH] lpfc: Avoid to disable pci_dev twice

2014-09-09 Thread Mike Qiu
On 08/28/2014 02:34 AM, James Smart wrote: Mike, Can you confirm - the "nulls" this patch correct are because the probe_one and error_detect threads are running concurrently, thus battling ? If so - this fix looks insufficient and we should rework it. Yes, it is. My patch is just a workaro