Thread (22 messages) 22 messages, 7 authors, 2016-05-20

Re: [PATCH v4 6/6] block: Update blkdev_dax_capable() for consistency

From: Jan Kara <jack@suse.cz>
Date: 2016-05-11 15:26:46
Also in: linux-fsdevel, lkml, nvdimm

On Wed 11-05-16 08:25:10, Toshi Kani wrote:
On Wed, 2016-05-11 at 10:05 +0200, Jan Kara wrote:
quoted
On Tue 10-05-16 10:23:57, Toshi Kani wrote:
quoted
blkdev_dax_capable() is similar to bdev_dax_supported(), but needs
to remain as a separate interface for checking dax capability of
a raw block device.

Rename and relocate blkdev_dax_capable() to keep them maintained
consistently, and call bdev_direct_access() for the dax capability
check.
...
quoted
+bool bdev_dax_capable(struct block_device *bdev)
+{
+	struct gendisk *disk = bdev->bd_disk;
+	struct blk_dax_ctl dax = {
+		.size = PAGE_SIZE,
+	};
+
+	if (!IS_ENABLED(CONFIG_FS_DAX))
+		return false;
Frankly, I prefer the #ifdef CONFIG_FS_DAX and just compile the code out
when DAX is not enabled (like it was with blkdev_dax_capable()). That way
we don't grow the kernel for people who don't care about DAX.
When CONFIG_FS_DAX is not set, the rest of the code is optimized out. �So,
I think the code size is the same.

(gdb) disas bdev_dax_capable
Dump of assembler code for function bdev_dax_capable:
���0xffffffff81260d20 <+0>:�����callq��0xffffffff81813c30 <__fentry__>
���0xffffffff81260d25 <+5>:�����push���%rbp
���0xffffffff81260d26 <+6>:�����xor����%eax,%eax
���0xffffffff81260d28 <+8>:�����mov����%rsp,%rbp
���0xffffffff81260d2b <+11>:����pop����%rbp
���0xffffffff81260d2c <+12>:����retq���
End of assembler dump.
Ah, good. So feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza
-- 
Jan Kara [off-list ref]
SUSE Labs, CR
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help