Re: [PATCH V2] block: sysfs fix mismatched queue_var_{store,show}in 64bit kernel

From: Danny Feng
Date: Fri Jul 17 2009 - 03:46:50 EST


This is a multi-part message in MIME format.Hello, Tejun:

Thank you very much for the review, I've attached v3 patch follow your advices, please help me review.

Another thing on block sysfs is that we can echo some invalid value (e.g 123abc), should sysfs return -EINVAL for those?

Regards

On 07/17/2009 02:48 PM, Tejun Heo wrote:
Hello, Xiaotian.

Xiaotian Feng wrote:
static ssize_t queue_ra_show(struct request_queue *q, char *page)
{
- int ra_kb = q->backing_dev_info.ra_pages<< (PAGE_CACHE_SHIFT - 10);
+ unsigned long ra_kb = q->backing_dev_info.ra_pages<<
+ (PAGE_CACHE_SHIFT - 10);

return queue_var_show(ra_kb, (page));
}

Nice.

@@ -95,7 +96,7 @@ queue_ra_store(struct request_queue *q, const char *page, size_t count)

static ssize_t queue_max_sectors_show(struct request_queue *q, char *page)
{
- int max_sectors_kb = queue_max_sectors(q)>> 1;
+ unsigned long max_sectors_kb = queue_max_sectors(q)>> 1;

return queue_var_show(max_sectors_kb, (page));
}
@@ -140,7 +141,7 @@ queue_max_sectors_store(struct request_queue *q, const char *page, size_t count)

static ssize_t queue_max_hw_sectors_show(struct request_queue *q, char *page)
{
- int max_hw_sectors_kb = queue_max_hw_sectors(q)>> 1;
+ unsigned long max_hw_sectors_kb = queue_max_hw_sectors(q)>> 1;

return queue_var_show(max_hw_sectors_kb, (page));
}

The above two aren't necessary but well why not.

@@ -189,7 +190,7 @@ static ssize_t queue_nomerges_store(struct request_queue *q, const char *page,

static ssize_t queue_rq_affinity_show(struct request_queue *q, char *page)
{
- unsigned int set = test_bit(QUEUE_FLAG_SAME_COMP,&q->queue_flags);
+ unsigned long set = test_bit(QUEUE_FLAG_SAME_COMP,&q->queue_flags);

return queue_var_show(set != 0, page);
}

Wouldn't it be better to make it "bool set = " and then remove the
"!= 0"?

Thanks.