Messages in this thread | | | Date | Thu, 12 May 2005 19:42:10 -0700 | From | Andrew Morton <> | Subject | Re: NFS: msync required for data writes to server? |
| |
Linda Dunaphant <linda.dunaphant@ccur.com> wrote: > > The behavior that you describe is what I expected to see. However, with > my test program that mmap's the NFS file on the client, writes the data, > and then munmap's the file, this wasn't the case with the 2.6.9 based > kernel I was using. The file data was NEVER being written to the server.
There's something very wrong with that.
> This afternoon I downloaded and built several later kernels. I found > that with 2.6.11, the problem still occurred. With 2.6.12-rc1, the > problem did not occur. I could see the proper data on the server. > > Looking at the differences in fs/nfs between these trees I found a > change to nfs_file_release() in fs/nfs/file.c. When I applied this > change to my 2.6.9 tree, the data was written out to the server. > > @@ -105,6 +108,9 @@ > static int > nfs_file_release(struct inode *inode, struct file *filp) > { > + /* Ensure that dirty pages are flushed out with the right creds > */ > + if (filp->f_mode & FMODE_WRITE) > + filemap_fdatawrite(filp->f_mapping); > return NFS_PROTO(inode)->file_release(inode, filp); > }
Well yes, that'll sync the file on close, but it doesn't explain the original problem.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |