Re: [dm-devel] [PATCH 3/5] block: Provide blk_status_t decoding for retryable errors
> +static inline bool blk_retryable(blk_status_t error) The naming isn't really useful - it is about the fact that it's worth retrying on another path. So please chose a better name, and add a kerneldoc comment describing it. -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
Re: [dm-devel] [PATCH 3/5] block: Provide blk_status_t decoding for retryable errors
On 01/04/2018 11:46 PM, Keith Busch wrote: > This patch provides a common decoder for block status that may be retried > so various entities wishing to consult this do not have to duplicate > this decision. > > Signed-off-by: Keith Busch> --- > include/linux/blk_types.h | 16 > 1 file changed, 16 insertions(+) > > diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h > index a1e628e032da..b6a8723b493c 100644 > --- a/include/linux/blk_types.h > +++ b/include/linux/blk_types.h > @@ -39,6 +39,22 @@ typedef u8 __bitwise blk_status_t; > > #define BLK_STS_AGAIN((__force blk_status_t)12) > > +static inline bool blk_retryable(blk_status_t error) > +{ > + switch (error) { > + case BLK_STS_NOTSUPP: > + case BLK_STS_NOSPC: > + case BLK_STS_TARGET: > + case BLK_STS_NEXUS: > + case BLK_STS_MEDIUM: > + case BLK_STS_PROTECTION: > + return false; > + } > + > + /* Anything else could be a path failure, so should be retried */ > + return true; > +} > + > struct blk_issue_stat { > u64 stat; > }; > Reviewed-by: Hannes Reinecke Cheers, Hannes -- Dr. Hannes ReineckezSeries & Storage h...@suse.com +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg) -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
Re: [dm-devel] [PATCH 3/5] block: Provide blk_status_t decoding for retryable errors
On Thu, Jan 04 2018 at 5:46pm -0500, Keith Buschwrote: > This patch provides a common decoder for block status that may be retried > so various entities wishing to consult this do not have to duplicate > this decision. > > Signed-off-by: Keith Busch Acked-by: Mike Snitzer -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
[dm-devel] [PATCH 3/5] block: Provide blk_status_t decoding for retryable errors
This patch provides a common decoder for block status that may be retried so various entities wishing to consult this do not have to duplicate this decision. Signed-off-by: Keith Busch--- include/linux/blk_types.h | 16 1 file changed, 16 insertions(+) diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h index a1e628e032da..b6a8723b493c 100644 --- a/include/linux/blk_types.h +++ b/include/linux/blk_types.h @@ -39,6 +39,22 @@ typedef u8 __bitwise blk_status_t; #define BLK_STS_AGAIN ((__force blk_status_t)12) +static inline bool blk_retryable(blk_status_t error) +{ + switch (error) { + case BLK_STS_NOTSUPP: + case BLK_STS_NOSPC: + case BLK_STS_TARGET: + case BLK_STS_NEXUS: + case BLK_STS_MEDIUM: + case BLK_STS_PROTECTION: + return false; + } + + /* Anything else could be a path failure, so should be retried */ + return true; +} + struct blk_issue_stat { u64 stat; }; -- 2.13.6 -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel