> +static inline unsigned long *__alloc_zone_bitmap(int node, > + unsigned int nr_zones) > +{ > + return kcalloc_node(BITS_TO_LONGS(nr_zones), sizeof(unsigned long), > + GFP_NOIO | __GFP_ZERO, node); kcalloc already implies GFP_NOIO. > +/* > + * Allocate an array of struct blk_zone to get nr_zones zone information. > + * The allocated array may be smaller than nr_zones. > + */ > +static struct blk_zone *__alloc_zones(int node, unsigned int *nr_zones) Any reason to have the __ prefix for these two functions? A blk_ one would seem more sensible. > +/** > + * revalidate_disk_zones - (re)allocate and initialize zone bitmaps > + * @disk: Target disk > + * > + * Description: > + * Helper function for low-level device drivers to (re) allocate and > + * initialize a disk request queue zone bitmaps. This functions should > + * normally be called within the disk ->revalidate method. > + * For BIO based queues, no zone bitmap is allocated. > + */ > +int revalidate_disk_zones(struct gendisk *disk) Add a blk_ prefix? Also no need for the Description: header in the kerneldoc comment.