freebsd-nq/module
Brian Behlendorf d3aa3ea96e Preserve inode mtime/ctime in .writepage()
When updating a file via mmap()'ed I/O preserve the mtime/ctime
which were updated when the page was made writable by the generic
callback filemap_page_mkwrite().

But more importantly than preserving the exact time add the missing
call to sa_bulk_update().  This ensures that the znode modifications
are written to disk as part of the transaction.  Without this the
inode may mistaken rollback to the previous on-disk znode state.

Additionally, for mmap()'ed znodes explicitly set the atime, mtime,
and ctime on close using the up to date values in the inode.  This
is critical because writepage() may occur after close and on close
we need to ensure the values are correct.

Original-patch-by: Richard Yao <ryao@cs.stonybrook.edu>
Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #764
2012-12-05 13:00:25 -08:00
..
avl Add script for builtin module building. 2012-07-26 13:45:09 -07:00
nvpair Add script for builtin module building. 2012-07-26 13:45:09 -07:00
unicode Add script for builtin module building. 2012-07-26 13:45:09 -07:00
zcommon Illumos #1948: zpool list should show more detailed pool info 2012-09-19 13:39:05 -07:00
zfs Preserve inode mtime/ctime in .writepage() 2012-12-05 13:00:25 -08:00
zpios Add script for builtin module building. 2012-07-26 13:45:09 -07:00
.gitignore Add .gitignore files to exclude build products 2010-01-08 11:35:17 -08:00
Makefile.in Add script for builtin module building. 2012-07-26 13:45:09 -07:00