HAMMER VFS - Minor bug (caught by assertion panic)
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 18 Oct 2010 07:49:59 +0000 (00:49 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 18 Oct 2010 07:49:59 +0000 (00:49 -0700)
commitef11b6e186adadd484885094d45997c70c514eaa
treece2ea1715b79da6cc1faf20cce67ef69ea640d88
parent34bdda45c63515835f0c95152ef3196a309e7df5
HAMMER VFS - Minor bug (caught by assertion panic)

* A snapshot can sometimes contain visible inodes whos nlinks count is 0,
  essentially the snapshot 'catches' the file in the middle of being deleted.

* HAMMER was attempting to truncate the data for such inodes if the file
  were opened and then closed, and failed to check whether the inode was a
  snapshot or a current inode.  This flowed through until it hit an assertion
  designed to detect precisely that case.

* Fixed by adding a check to determine if the inode is a snapshot and/or
  the filesystem is mounted read-only.

Repored-by: Max <herrgard@gmail.com>
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_object.c