Message ID | CACTTzNY-sQYGGy-NhGP2hCUH2ynpDD-g74sJt4zY9c9RvGGFKw@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Jun 23, 2016 at 11:05 AM, Yigal Korman <yigal@plexistor.com> wrote: > On Thu, Jun 23, 2016 at 8:36 PM, Kani, Toshimitsu <toshi.kani@hpe.com> wrote: >> On Thu, 2016-06-23 at 19:31 +0300, Yigal Korman wrote: >>> On Thu, Jun 23, 2016 at 2:54 AM, Toshi Kani <toshi.kani@hpe.com> wrote: >>> > >>> > >>> > Currently, presence of direct_access() in block_device_operations >>> > indicates support of DAX on its block device. Because >>> > block_device_operations is instantiated with 'const', this DAX >>> > capablity may not be enabled conditinally. >>> > >>> > In preparation for supporting DAX to device-mapper devices, add >>> > QUEUE_FLAG_DAX to request_queue flags to advertise their DAX >>> > support. This will allow to set the DAX capability based on how >>> > mapped device is composed. >>> >>> Hi Toshi, >>> This patch is very helpful! >>> I think QUEUE_FLAG_DAX can also help with identifying dax devices in >>> userspace. >>> Perhaps you'd be willing to squash the patch below with this one or >>> add it to your submission? >> >> Hi Yigal, >> >> Good idea. Mike can probably take it into his tree, but I will include it >> into the series if I needed to submit v3. >> >> Acked-by: Toshi Kani <toshi.kani@hpe.com> > > Great, Thanks! > I'll follow the thread to see if it goes through or needs to be resubmitted. > >> >> I have one minor comment below. > > My reply below as well. > >> >>> [PATCH] block: expose QUEUE_FLAG_DAX in sysfs >>> >>> There's currently no way to identify DAX enabled devices in userspace. >>> >>> Signed-off-by: Yigal Korman <yigal@plexistor.com> >>> --- >>> block/blk-sysfs.c | 15 +++++++++++++++ >>> 1 file changed, 15 insertions(+) >>> >>> diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c >>> index 9920596..d55126d 100644 >>> --- a/block/blk-sysfs.c >>> +++ b/block/blk-sysfs.c >>> @@ -379,6 +379,15 @@ static ssize_t queue_wc_store(struct >>> request_queue *q, const char *page, >>> return count; >>> } >>> >>> +static ssize_t queue_dax_show(struct request_queue *q, char *page) >>> +{ >>> + int bit; >>> + >>> + bit = test_bit(QUEUE_FLAG_DAX, &q->queue_flags); >>> + >>> + return queue_var_show(bit, page); >> >> This can be: >> return queue_var_show(blk_queue_dax(q), page); > > Oh, sure, of course you're right. thanks. > > Subject: [PATCH] block: expose QUEUE_FLAG_DAX in sysfs > > There's currently no way to identify DAX enabled devices in userspace. > > Signed-off-by: Yigal Korman <yigal@plexistor.com> > Acked-by: Toshi Kani <toshi.kani@hpe.com> Great! Acked-by: Dan Williams <dan.j.williams@intel.com>
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c index 9920596..f87a7e7 100644 --- a/block/blk-sysfs.c +++ b/block/blk-sysfs.c @@ -379,6 +379,11 @@ static ssize_t queue_wc_store(struct request_queue *q, const char *page, return count; } +static ssize_t queue_dax_show(struct request_queue *q, char *page) +{ + return queue_var_show(blk_queue_dax(q), page); +} + static struct queue_sysfs_entry queue_requests_entry = { .attr = {.name = "nr_requests", .mode = S_IRUGO | S_IWUSR },