lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <x49a8ttzj27.fsf@segfault.boston.devel.redhat.com>
Date:	Fri, 14 Aug 2015 16:55:28 -0400
From:	Jeff Moyer <jmoyer@...hat.com>
To:	Andreas Dilger <adilger@...ger.ca>
Cc:	matthew.r.wilcox@...el.com, linux-fsdevel@...r.kernel.org,
	linux-kernel@...r.kernel.org, linux-nvdimm@...1.01.org
Subject: Re: [PATCH 2/2] blockdev: don't set S_DAX for misaligned partitions

Andreas Dilger <adilger@...ger.ca> writes:

> On Aug 14, 2015, at 2:15 PM, Jeff Moyer <jmoyer@...hat.com> wrote:
>> 
>> The dax code doesn't currently support misaligned partitions,
>> so disable O_DIRECT via dax until such time as that support
>> materializes.
>> 
>> Suggested-by: Boaz Harrosh <boaz@...xistor.com>
>> Signed-off-by: Jeff Moyer <jmoyer@...hat.com>
>> ---
>> fs/block_dev.c | 7 +++++++
>> 1 file changed, 7 insertions(+)
>> 
>> diff --git a/fs/block_dev.c b/fs/block_dev.c
>> index 1982437..1170f8c 100644
>> --- a/fs/block_dev.c
>> +++ b/fs/block_dev.c
>> @@ -1241,6 +1241,13 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part)
>> 				goto out_clear;
>> 			}
>> 			bd_set_size(bdev, (loff_t)bdev->bd_part->nr_sects << 9);
>> +			/*
>> +			 * If the partition is not aligned on a page
>> +			 * boundary, we can't do dax I/O to it.
>> +			 */
>> +			if ((bdev->bd_part->start_sect % (PAGE_SIZE / 512)) ||
>> +			    (bdev->bd_part->nr_sects % (PAGE_SIZE / 512)))
>
> Maybe I'm missing something, but doesn't the second condition above
> disable DAX for the case that the 1/2 patch is fixing (i.e. the last
> sectors at the end of a non-PAGE_SIZE-multiple device)?  It seems a
> shame to disable DAX for the whole device because of the last sector.

No.  Patch 1/2 fixes a 512 byte read of the last sector of a properly
aligned partiton.  The goal is to eventually fix things so we can enable
the dax path for misaligned partitions, but it's not going to happen in
time for 4.2.  Also, keep in mind that this is just for opening the
block device itself with O_DIRECT.

Thanks for taking a look.

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ