On Tue, Jun 13, 2017 at 05:32:29PM +0800, Anand Jain wrote:
> As commit
>  9035b5dbc576 btrfs: btrfs_io_bio_alloc never fails, skip error handling
> 
> removed the -ENOMEM return from write_dev_flush()/send-part so no need to
> check for the -ENOMEM during send.
> 
> Signed-off-by: Anand Jain <anand.j...@oracle.com>
> ---
> v2.1: Part of commit log got missed out during send. fix it.
> v2: . Add the removal of submit_flush_error in check_barrier_error()
>     from 2/2 before to 1/3 here, as its appropriate to be here.
>     . Did not split the write and wait part here in this patch.

All 3 reviewed and queued, thanks. I have a prototype for the
preallocated flush bio but was waiting until these cleanups are in
before snding it.

I've noticed that threre are two more "if (!device->bdev)" checks under
the device lock in write_all_supers, that might be worth removing.

However, a NULL bdev and device->missing are related and I think there
are some dark corners in dev replace where the invariant can be
temporarily broken. Given that we probably don't have great testing
coverage of devices with the flush capabilities, we should make it
possible to override that for debugging purposes. Eg. add a
"/sys/fs/btrfs/UUID/force_dev_flush" if CONFIG_BTRFS_DEBUG is enabled.

Anyway, that can also wait for later. We've made some changes this time
so I'd not add any more intrusive ones until the current devel queue is
on the way to master.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to