HAMMER VFS - Fix inconsistent atime updates on read()
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 9 Jul 2011 18:34:24 +0000 (11:34 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sat, 9 Jul 2011 18:34:24 +0000 (11:34 -0700)
commit70125e78e4d21df2d06eea1ddf744a7bf42a4336
tree0a40a9d17b3b93e7bfde8d8f9b9a02ad380058c0
parent55696211e6c955ba51eeeb5d0253749a1bf10d8e
HAMMER VFS - Fix inconsistent atime updates on read()

* HAMMER's optimization of the read() path to improve concurrency broke
  atime updates in the cache case.  There was a big XXX comment in the
  code about it.

* Fix the issue in a way that avoids acquiring the fs_token in the cache
  case.  If the ATIME flag is already set all we need to do is update
  ip->ino_data.atime.  If it is not set we have to get the fs_token and
  go through the normal transaction.

Reported-by: marino
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_vnops.c