Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1414117

Re: [PATCH] libnvdimm, nfit: treat volatile virtual CD region as read-only pmem

From joeyli <jlee@suse.com>
Newsgroups linux.kernel
Subject Re: [PATCH] libnvdimm, nfit: treat volatile virtual CD region as read-only pmem
Date 2016-06-05 16:50 +0200
Message-ID <rGHxf-84f-3@gated-at.bofh.it> (permalink)
References <rFRyG-9r-13@gated-at.bofh.it> <rG2X7-7iY-3@gated-at.bofh.it> <rGhCO-8dK-11@gated-at.bofh.it> <rGmCt-3nX-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Sat, Jun 04, 2016 at 09:24:54AM -0700, Dan Williams wrote:
> On Sat, Jun 4, 2016 at 4:01 AM, joeyli <jlee@suse.com> wrote:
> > Hi Dan,
> >
> > Thanks for your review.
> >
> > On Fri, Jun 03, 2016 at 12:27:34PM -0700, Dan Williams wrote:
> >> On Fri, Jun 3, 2016 at 12:13 AM, Lee, Chun-Yi <joeyli.kernel@gmail.com> wrote:
> >> > This patch adds codes to treat a volatile virtual CD region as a
> >> > read-only pmem region, then read-only /dev/pmem* device can be mounted
> >> > with iso9660.
> >> >
> >> > It's useful to work with the httpboot in EFI firmware to pull a remote
> >> > ISO file to the local memory region for booting and installation.
> >> >
> >> > Wiki page of UEFI HTTPBoot with OVMF:
> >> >         https://en.opensuse.org/UEFI_HTTPBoot_with_OVMF
> >> >
> >> > Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
> >> > Cc: Gary Lin <GLin@suse.com>
> >> > Cc: Dan Williams <dan.j.williams@intel.com>
> >> > Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
> >> > Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
> >> > ---
> >> >  drivers/acpi/nfit.c          |  8 +++++++-
> >> >  drivers/nvdimm/region_devs.c | 26 +++++++++++++++++++++++++-
> >> >  include/linux/libnvdimm.h    |  2 ++
> >> >  3 files changed, 34 insertions(+), 2 deletions(-)
> >> >
> >> > diff --git a/drivers/acpi/nfit.c b/drivers/acpi/nfit.c
> >> > index 2215fc8..b100a17 100644
> >> > --- a/drivers/acpi/nfit.c
> >> > +++ b/drivers/acpi/nfit.c
> >> > @@ -1949,6 +1949,7 @@ static int acpi_nfit_init_mapping(struct acpi_nfit_desc *acpi_desc,
> >> >         switch (nfit_spa_type(spa)) {
> >> >         case NFIT_SPA_PM:
> >> >         case NFIT_SPA_VOLATILE:
> >> > +       case NFIT_SPA_VCD:
> >> >                 nd_mapping->start = memdev->address;
> >> >                 nd_mapping->size = memdev->region_size;
> >> >                 break;
> >>
> >> Why do we need to distinguish NFIT_SPA_VOLATILE vs NFIT_SPA_VCD, i.e.
> >> what happens if something writes to a VCD device?
> >
> > Actually I didn't try to write SPA-VCD device before. Every time I mount it
> > that the system responses read-only:
> >
> > # mount /dev/pmem0 /mnt/
> > mount: /dev/pmem0 is write-protected, mounting read-only
> >
> > If it can be written, then I think there have no difference between
> > NFIT_SPA_VOLATILE with NFIT_SPA_VCD region.
> >
> > I implemented this patch to treat VCD region as read-only pmem because the
> > pmem region generates /dev/pmem* device that it can be mounted.
> >
> > Maybe I missed. Does NFIT_SPA_VOLATILE region also generate a device in /dev
> > that it can be mounted with filesystem? Then I think treat the VCD region as
> > a read-only VOLATILE region that's also a solution.
> 
> My question is why does it need to be read-only?  If it's a volatile
> region, does it matter if we allow writes at the block device level?
> Especially if it is formatted as iso9660, it won't be writable through
> the filesystem anyway.

The httpboot function of EFI firmware downloads iso image from http server
, then it allocates a big enough continuity memory region and extract iso to
the region.

Actually you are right, it does not need to be read-only. It's similar with
a volatile region, just the type is NFIT_SPA_VCD and it contains the data
that extracted from a iso file.

Do you have better approach to treat the SPA_VCD region as a block device
that it can be mounted by iso9660? Maybe I missed something... Can I mount a
volatile region with iso9660? If yes, maybe just treat VCD SPA as a VOLATILE
region?


Thanks a lot!
Joey Lee

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] libnvdimm, nfit: treat volatile virtual CD region as read-only pmem "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2016-06-03 09:20 +0200
  Re: [PATCH] libnvdimm, nfit: treat volatile virtual CD region as  read-only pmem Dan Williams <dan.j.williams@intel.com> - 2016-06-03 21:30 +0200
    Re: [PATCH] libnvdimm, nfit: treat volatile virtual CD region as  read-only pmem joeyli <jlee@suse.com> - 2016-06-04 13:10 +0200
      Re: [PATCH] libnvdimm, nfit: treat volatile virtual CD region as  read-only pmem Dan Williams <dan.j.williams@intel.com> - 2016-06-04 18:30 +0200
        Re: [PATCH] libnvdimm, nfit: treat volatile virtual CD region as  read-only pmem joeyli <jlee@suse.com> - 2016-06-05 16:50 +0200
        Re: [PATCH] libnvdimm, nfit: treat volatile virtual CD region as  read-only pmem joeyli <jlee@suse.com> - 2016-06-05 17:00 +0200
      Re: [PATCH] libnvdimm, nfit: treat volatile virtual CD region as  read-only pmem Linda Knippers <linda.knippers@hpe.com> - 2016-06-10 00:10 +0200
        Re: [PATCH] libnvdimm, nfit: treat volatile virtual CD region as  read-only pmem Dan Williams <dan.j.williams@intel.com> - 2016-06-10 00:40 +0200

csiph-web