Message ID | 20190104170637.8218-1-jpittman@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] null_blk: add zoned config support information | expand |
On Fri, 2019-01-04 at 12:06 -0500, John Pittman wrote: > If the kernel is built without CONFIG_BLK_DEV_ZONED, a modprobe > of the null_blk driver with zoned=1 fails with 'Invalid argument'. > This can be confusing to users, prompting a search as to why the > parameter is invalid. To assist in that search, add a bit more > information to the failure, additionally adding to the documentation > that CONFIG_BLK_DEV_ZONED is needed for zoned=1. > > Signed-off-by: John Pittman <jpittman@redhat.com> > --- > Documentation/block/null_blk.txt | 3 ++- > drivers/block/null_blk.h | 1 + > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/Documentation/block/null_blk.txt b/Documentation/block/null_blk.txt > index ea2dafe49ae8..4cad1024fff7 100644 > --- a/Documentation/block/null_blk.txt > +++ b/Documentation/block/null_blk.txt > @@ -88,7 +88,8 @@ shared_tags=[0/1]: Default: 0 > > zoned=[0/1]: Default: 0 > 0: Block device is exposed as a random-access block device. > - 1: Block device is exposed as a host-managed zoned block device. > + 1: Block device is exposed as a host-managed zoned block device. Requires > + CONFIG_BLK_DEV_ZONED. > > zone_size=[MB]: Default: 256 > Per zone size when exposed as a zoned block device. Must be a power of two. > diff --git a/drivers/block/null_blk.h b/drivers/block/null_blk.h > index b3df2793e7cd..cab4808f14bd 100644 > --- a/drivers/block/null_blk.h > +++ b/drivers/block/null_blk.h > @@ -97,6 +97,7 @@ void null_zone_reset(struct nullb_cmd *cmd, sector_t sector); > #else > static inline int null_zone_init(struct nullb_device *dev) > { > + pr_err("CONFIG_BLK_DEV_ZONED not enabled\n"); > return -EINVAL; > } > static inline void null_zone_exit(struct nullb_device *dev) {} Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Jens, Bart, It occurred to me just now that on the pr_err() message, "null_blk: CONFIG_BLK_DEV_ZONED not enabled" is a little better than "CONFIG_BLK_DEV_ZONED not enabled". It was my intent to include that 'null_blk:', but it slipped my mind at the last moment. On Fri, Jan 4, 2019 at 4:49 PM Bart Van Assche <bvanassche@acm.org> wrote: > > On Fri, 2019-01-04 at 12:06 -0500, John Pittman wrote: > > If the kernel is built without CONFIG_BLK_DEV_ZONED, a modprobe > > of the null_blk driver with zoned=1 fails with 'Invalid argument'. > > This can be confusing to users, prompting a search as to why the > > parameter is invalid. To assist in that search, add a bit more > > information to the failure, additionally adding to the documentation > > that CONFIG_BLK_DEV_ZONED is needed for zoned=1. > > > > Signed-off-by: John Pittman <jpittman@redhat.com> > > --- > > Documentation/block/null_blk.txt | 3 ++- > > drivers/block/null_blk.h | 1 + > > 2 files changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/Documentation/block/null_blk.txt b/Documentation/block/null_blk.txt > > index ea2dafe49ae8..4cad1024fff7 100644 > > --- a/Documentation/block/null_blk.txt > > +++ b/Documentation/block/null_blk.txt > > @@ -88,7 +88,8 @@ shared_tags=[0/1]: Default: 0 > > > > zoned=[0/1]: Default: 0 > > 0: Block device is exposed as a random-access block device. > > - 1: Block device is exposed as a host-managed zoned block device. > > + 1: Block device is exposed as a host-managed zoned block device. Requires > > + CONFIG_BLK_DEV_ZONED. > > > > zone_size=[MB]: Default: 256 > > Per zone size when exposed as a zoned block device. Must be a power of two. > > diff --git a/drivers/block/null_blk.h b/drivers/block/null_blk.h > > index b3df2793e7cd..cab4808f14bd 100644 > > --- a/drivers/block/null_blk.h > > +++ b/drivers/block/null_blk.h > > @@ -97,6 +97,7 @@ void null_zone_reset(struct nullb_cmd *cmd, sector_t sector); > > #else > > static inline int null_zone_init(struct nullb_device *dev) > > { > > + pr_err("CONFIG_BLK_DEV_ZONED not enabled\n"); > > return -EINVAL; > > } > > static inline void null_zone_exit(struct nullb_device *dev) {} > > Reviewed-by: Bart Van Assche <bvanassche@acm.org> >
On 1/5/19 5:44 AM, John Pittman wrote: > Jens, Bart, It occurred to me just now that on the pr_err() message, > "null_blk: CONFIG_BLK_DEV_ZONED not enabled" is a little better > than "CONFIG_BLK_DEV_ZONED not enabled". It was my intent > to include that 'null_blk:', but it slipped my mind at the last moment. I applied it just now, and added the prefix to the error message.
diff --git a/Documentation/block/null_blk.txt b/Documentation/block/null_blk.txt index ea2dafe49ae8..4cad1024fff7 100644 --- a/Documentation/block/null_blk.txt +++ b/Documentation/block/null_blk.txt @@ -88,7 +88,8 @@ shared_tags=[0/1]: Default: 0 zoned=[0/1]: Default: 0 0: Block device is exposed as a random-access block device. - 1: Block device is exposed as a host-managed zoned block device. + 1: Block device is exposed as a host-managed zoned block device. Requires + CONFIG_BLK_DEV_ZONED. zone_size=[MB]: Default: 256 Per zone size when exposed as a zoned block device. Must be a power of two. diff --git a/drivers/block/null_blk.h b/drivers/block/null_blk.h index b3df2793e7cd..cab4808f14bd 100644 --- a/drivers/block/null_blk.h +++ b/drivers/block/null_blk.h @@ -97,6 +97,7 @@ void null_zone_reset(struct nullb_cmd *cmd, sector_t sector); #else static inline int null_zone_init(struct nullb_device *dev) { + pr_err("CONFIG_BLK_DEV_ZONED not enabled\n"); return -EINVAL; } static inline void null_zone_exit(struct nullb_device *dev) {}
If the kernel is built without CONFIG_BLK_DEV_ZONED, a modprobe of the null_blk driver with zoned=1 fails with 'Invalid argument'. This can be confusing to users, prompting a search as to why the parameter is invalid. To assist in that search, add a bit more information to the failure, additionally adding to the documentation that CONFIG_BLK_DEV_ZONED is needed for zoned=1. Signed-off-by: John Pittman <jpittman@redhat.com> --- Documentation/block/null_blk.txt | 3 ++- drivers/block/null_blk.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-)