Re: [PATCH block#for-2.6.31 2/3] block: set rq->resid_len toblk_rq_bytes() on issue

From: Pete Zaitcev
Date: Fri May 15 2009 - 19:19:27 EST


On Sat, 16 May 2009 07:14:44 +0900, Tejun Heo <htejun@xxxxxxxxx> wrote:

> So, I could have written
>
> if (cmd->act_len >= rq->resid_len)
> rq->resid_len = 0;
> else
> rq->resid_len -= cmd->act_len
>
> Instead I wrote
>
> rq->resid_len -= min(cmd->act_len, rq->resid_len);
>
> It's just capping the amount to be subtracted so that resid_len
> doesn't underflow. What is so wrong or bad style about that?

Curse of the gifted, I guess. To use a subtraction instead of zero
this way looks like a pointless, even mischievous obfuscation to me.

Also, we probably want a stack_dump or a printk when actual length
exceeds the requested length, don't we? If it ever happens, we
might be overwriting some I/O buffer somewhere.

-- Pete
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/