linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dan Williams <dan.j.williams@intel.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>,
	"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
	Boaz Harrosh <boaz@plexistor.com>,
	"Kani, Toshimitsu" <toshi.kani@hp.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Linux ACPI <linux-acpi@vger.kernel.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	Ingo Molnar <mingo@kernel.org>
Subject: Re: [PATCH 14/15] libnvdimm: support read-only btt backing devices
Date: Mon, 22 Jun 2015 09:36:50 -0700	[thread overview]
Message-ID: <CAPcyv4hQ_r--8kmLZrkSZV5OBPAFt0VeRWN1r_OEhuxh96rxyw@mail.gmail.com> (raw)
In-Reply-To: <20150622154056.GB7952@lst.de>

On Mon, Jun 22, 2015 at 8:40 AM, Christoph Hellwig <hch@lst.de> wrote:
> On Mon, Jun 22, 2015 at 12:39:34AM -0700, Dan Williams wrote:
>> Now I'm confused, you *don't* want the raw device to be hidden *and*
>> you want to kill the stacking?  Something got crossed.  The current
>> implementation hides nothing, you get to see the entire stacked
>> composition.  I'd much prefer to avoid hiding anything.
>
> You see it, but you can't actually use it.  The proper way to expose it
> would be to the devices visible in the low-level bus sysfs enumeration
> logic but only one ULD attach to it.
>

In that case "don't stack" is too coarse of a hammer.  I see this as a
request to hide the subordinate ULD which is a new capability that DM
and MD might benefit from as well.  We already have the case in MD
where it internally holds a reference to bdev that has been hot
removed, it seems not much of a stretch to have stacking drivers be
able to hide device nodes for bdevs that they are holding.

>> The sinister aspect of sector tearing is that most applications don't
>> know they have this dependency.  At least today's disk's rarely ever
>> tear sectors and if they do you almost certainly get a CRC error on
>> access.  NVDIMMs will always tear and always silently.  I think not
>> merging BTT at all to see what happens is simply wrong.
>
> So now you leave your users with a choice between a rock and a hard
> place, that is using BTT to introduce non-significant overhead and not
> supporting DAX or just use it as-is.

Yes, if they want to use DAX they should do it consciously and audit
their application to be sure it is safe to abandon atomic sector
guarantees.  With the current flexibility to do BTT on a partition
they can do this conversion piecemeal and, for example, keep metadata
on BTT and data on DAX.
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in

  reply	other threads:[~2015-06-22 16:36 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-17 23:54 [PATCH 00/15] libnvdimm: ->rw_bytes(), BLK-mode, unit tests, and misc features Dan Williams
2015-06-17 23:54 ` [PATCH 01/15] block: introduce an ->rw_bytes() block device operation Dan Williams
2015-06-18 19:25   ` Dan Williams
2015-06-17 23:54 ` [PATCH 02/15] libnvdimm: infrastructure for btt devices Dan Williams
2015-06-22 16:34   ` Christoph Hellwig
2015-06-22 16:48     ` Dan Williams
2015-06-22 16:48       ` Christoph Hellwig
2015-06-22 18:32         ` Jeff Moyer
2015-06-22 19:02           ` Dan Williams
2015-06-22 19:09             ` Jeff Moyer
2015-06-23 10:20               ` Christoph Hellwig
2015-06-23 10:19             ` Christoph Hellwig
2015-06-23 15:19               ` Dan Williams
2015-06-23 20:33                 ` Dan Williams
2015-06-24 12:10                 ` Christoph Hellwig
2015-06-23 10:10           ` Christoph Hellwig
2015-06-17 23:55 ` [PATCH 03/15] nd_btt: atomic sector updates Dan Williams
2015-06-21 10:03   ` Christoph Hellwig
2015-06-21 16:31     ` Dan Williams
2015-06-17 23:55 ` [PATCH 04/15] libnvdimm, nfit, nd_blk: driver for BLK-mode access persistent memory Dan Williams
2015-06-21 10:05   ` Christoph Hellwig
2015-06-21 13:31     ` Dan Williams
2015-06-21 13:56       ` Christoph Hellwig
2015-06-21 14:39         ` Dan Williams
2015-06-17 23:55 ` [PATCH 05/15] tools/testing/nvdimm: libnvdimm unit test infrastructure Dan Williams
2015-06-17 23:55 ` [PATCH 06/15] libnvdimm: Non-Volatile Devices Dan Williams
2015-06-17 23:55 ` [PATCH 07/15] fs/block_dev.c: skip rw_page if bdev has integrity Dan Williams
2015-06-17 23:55 ` [PATCH 08/15] libnvdimm, btt: add support for blk integrity Dan Williams
2015-06-17 23:55 ` [PATCH 09/15] libnvdimm, blk: " Dan Williams
2015-06-17 23:55 ` [PATCH 10/15] libnvdimm: fix up max_hw_sectors Dan Williams
2015-06-21 10:08   ` Christoph Hellwig
2015-06-21 13:28     ` Dan Williams
2015-06-17 23:55 ` [PATCH 11/15] libnvdimm: pmem, blk, and btt make_request cleanups Dan Williams
2015-06-21 10:10   ` Christoph Hellwig
2015-06-21 13:26     ` Dan Williams
2015-06-17 23:55 ` [PATCH 12/15] libnvdimm: enable iostat Dan Williams
2015-06-19  8:34   ` Christoph Hellwig
2015-06-19  9:02     ` Dan Williams
2015-06-21 10:11       ` Christoph Hellwig
2015-06-21 13:22         ` Dan Williams
2015-06-17 23:55 ` [PATCH 13/15] libnvdimm: flag libnvdimm block devices as non-rotational Dan Williams
2015-06-17 23:56 ` [PATCH 14/15] libnvdimm: support read-only btt backing devices Dan Williams
2015-06-18 22:55   ` Vishal Verma
2015-06-21 10:13   ` Christoph Hellwig
2015-06-21 13:21     ` Dan Williams
2015-06-21 13:54       ` Christoph Hellwig
2015-06-21 15:11         ` Dan Williams
2015-06-22  6:30           ` Christoph Hellwig
2015-06-22  7:17             ` Dan Williams
2015-06-22  7:28               ` Christoph Hellwig
2015-06-22  7:39                 ` Dan Williams
2015-06-22 15:02                   ` Jeff Moyer
2015-06-22 15:41                     ` Christoph Hellwig
2015-06-22 16:00                       ` Jeff Moyer
2015-06-22 16:32                         ` Christoph Hellwig
2015-06-22 16:42                           ` Jeff Moyer
2015-06-22 16:48                             ` Christoph Hellwig
2015-06-22 18:48                               ` Jeff Moyer
2015-06-22 19:04                                 ` Dan Williams
2015-06-22 19:11                                   ` Jeff Moyer
2015-06-23 10:10                                 ` Christoph Hellwig
2015-06-22 15:40                   ` Christoph Hellwig
2015-06-22 16:36                     ` Dan Williams [this message]
2015-06-22 16:45                       ` Christoph Hellwig
2015-06-22 16:54                         ` Dan Williams
2015-06-22 16:57                           ` Christoph Hellwig
2015-06-22 16:59                             ` Dan Williams
2015-06-23 19:30             ` Matthew Wilcox
2015-06-24 12:11               ` Christoph Hellwig
2015-06-17 23:56 ` [PATCH 15/15] libnvdimm, nfit: handle acpi_nfit_memory_map flags Dan Williams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAPcyv4hQ_r--8kmLZrkSZV5OBPAFt0VeRWN1r_OEhuxh96rxyw@mail.gmail.com \
    --to=dan.j.williams@intel.com \
    --cc=axboe@kernel.dk \
    --cc=boaz@plexistor.com \
    --cc=hch@lst.de \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=mingo@kernel.org \
    --cc=toshi.kani@hp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).