On 08/10/2017 11:15 AM, Goldwyn Rodrigues wrote: > > > On 08/10/2017 09:14 AM, Jens Axboe wrote: >> On 08/10/2017 05:38 AM, Goldwyn Rodrigues wrote: >>> >>> >>> On 08/09/2017 09:18 PM, Jens Axboe wrote: >>>> On 08/08/2017 02:36 PM, Jens Axboe wrote: >>>>> On 08/08/2017 02:32 PM, Shaohua Li wrote: >>>>>>> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h >>>>>>> index 25f6a0cb27d3..fae021ebec1b 100644 >>>>>>> --- a/include/linux/blkdev.h >>>>>>> +++ b/include/linux/blkdev.h >>>>>>> @@ -633,6 +633,7 @@ struct request_queue { >>>>>>> #define QUEUE_FLAG_REGISTERED 29 /* queue has been registered to a disk */ >>>>>>> #define QUEUE_FLAG_SCSI_PASSTHROUGH 30 /* queue supports SCSI commands */ >>>>>>> #define QUEUE_FLAG_QUIESCED 31 /* queue has been quiesced */ >>>>>>> +#define QUEUE_FLAG_NOWAIT 32 /* stack device driver supports REQ_NOWAIT */ >>>>> >>>>> Does this work on 32-bit, where sizeof(unsigned long) == 32? >>>> >>>> I didn't get an answer to this one. >>>> >>> >>> Oh, I assumed the question is rhetorical. >>> No, it will not work on 32-bit. I was planning to change the field >>> queue_flags to u64. Is that okay? >> >> No, besides that would not work with set/test_bit() and friends. Grab >> a free bit instead. >> > > Which bit is free? I don't see any gaps in QUEUE_FLAG_*, and I am not > sure if any one is unused. Bit 0 is free in mainline, and I just looked, and two other bits are gone as well: http://git.kernel.dk/cgit/linux-block/commit/?h=for-4.14/block&id=e743eb1ecd5564b5ae0a4a76c1566f748a358839 -- Jens Axboe