Re: [PATCH 2/5] block: add function to issue compare and write

From: Christoph Hellwig
Date: Fri Oct 17 2014 - 05:56:00 EST


On Thu, Oct 16, 2014 at 12:37:12AM -0500, michaelc@xxxxxxxxxxx wrote:
> @@ -160,7 +160,7 @@ enum rq_flag_bits {
> __REQ_DISCARD, /* request to discard sectors */
> __REQ_SECURE, /* secure discard (used with __REQ_DISCARD) */
> __REQ_WRITE_SAME, /* write same block many times */
> -
> + __REQ_CMP_AND_WRITE, /* compare data and write if matched */

I think it's time that we stop overloading the request flags with
request types.

We already have req->cmd_type which actually is a fairly good
description of what we get except for REQ_TYPE_FS, which is a horrible
overload using req->cmd_flags.

Given that you're just one of many currently ongoing patches to add
more flags here I think you need to byte the bullet and fix this up
by replacing REQ_TYPE_FS with:

REQ_TYPE_WRITE
REQ_TYPE_READ
REQ_TYPE_FLUSH
REQ_TYPE_DISCARD
REQ_TYPE_WRITE_SAME
REQ_TYPE_CMP_AND_WRITE

sd.c is a nice guide of what should be a flag and what a type since my
last refactoring of the command_init function.
--
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/