On 11/23/22 17:40, Damien Le Moal wrote:
On 11/24/22 05:57, Bart Van Assche wrote:
+static unsigned int g_max_segment_size = 1UL << 31;
1UL is unsigned long be this var is unsigned int. Why not simply use
UINT_MAX here ? You prefer the 2GB value ? If yes, then may be at least
change that to "1U << 31", no ?
[ ... ]
@@ -2106,6 +2119,7 @@ static int null_add_dev(struct nullb_device *dev)
dev->max_sectors = min_t(unsigned int, dev->max_sectors,
BLK_DEF_MAX_SECTORS);
blk_queue_max_hw_sectors(nullb->q, dev->max_sectors);
+ blk_queue_max_segment_size(nullb->q, dev->max_segment_size);
Should we keep the ability to use the kernel default value as the default
here ?
E.g.
if (dev->max_segment_size)
blk_queue_max_segment_size(nullb->q,
dev->max_segment_size);
If yes, then g_max_segment_size initial value should be 0, meaning "kernel
default".
Hi Damien,
How about changing the default value for g_max_segment_size from
1UL << 31 into BLK_MAX_SEGMENT_SIZE? That will simplify the code and
also prevents that this patch changes the behavior of the null_blk
driver if g_max_segment_size is not modified by the user.
Thanks,
Bart.