On 04/06/17 19:52 +0800, Xiao Guangrong wrote:
> 
> 
> On 03/31/2017 04:41 PM, Haozhong Zhang wrote:
> > fsync() is used to persist modifications to the back store. If the
> > host NVDIMM is used as the back store, fsync() on Linux will trigger
> > the write to the host flush hint address.
> > 
> > Signed-off-by: Haozhong Zhang <haozhong.zh...@intel.com>
> > ---
> >  hw/mem/nvdimm.c         | 22 ++++++++++++++++++++++
> >  include/hw/mem/nvdimm.h | 13 +++++++++++++
> >  2 files changed, 35 insertions(+)
> > 
> > diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c
> > index db896b0..484ab8b 100644
> > --- a/hw/mem/nvdimm.c
> > +++ b/hw/mem/nvdimm.c
> > @@ -78,6 +78,26 @@ static MemoryRegion 
> > *nvdimm_get_memory_region(PCDIMMDevice *dimm)
> >      return &nvdimm->nvdimm_mr;
> >  }
> > 
> > +static void nvdimm_flush_init(NVDIMMDevice *nvdimm, MemoryRegion 
> > *hostmem_mr)
> > +{
> > +    if (nvdimm->flush_hint_enabled) {
> > +        nvdimm->backend_fd = memory_region_get_fd(hostmem_mr);
> 
> Hmm, IIRC host-mem-file does not initalize backend_fd at all.

Oops, forgot to add this part. Thanks for remind.

Haozhong

Reply via email to