Re: [PATCH] Sync only the requested range in msync

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 23 Apr 2014 07:11:15 -0700 Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:

> On Thu, Mar 27, 2014 at 07:02:41PM -0400, Matthew Wilcox wrote:
> > [untested.  posted because it keeps coming up at lsfmm/collab]
> > 
> > msync() currently syncs more than POSIX requires or BSD or Solaris
> > implement.  It is supposed to be equivalent to fdatasync(), not fsync(),
> > and it is only supposed to sync the portion of the file that overlaps
> > the range passed to msync.
> > 
> > If the VMA is non-linear, fall back to syncing the entire file, but we
> > still optimise to only fdatasync() the entire file, not the full fsync().
> > 
> > Signed-off-by: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx>
> 
> Looks good,
> 
> Reviewed-by: Christoph Hellwig <hch@xxxxxx>

I worry that if there are people who are relying on the current
behaviour (knowingly or not!) then this patch will put their data at
risk and nobody will ever know.  Until that data gets lost, that is.
At some level of cautiousness, this is one of those things we can never
fix.

I suppose we could add an msync2() syscall with the new behaviour so
people can migrate over.  That would be very cheap to do.

It's hard to know what's the right thing to do here.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]