hammer - Attempt to fix improper call to vsetisdirty() in hammer flush
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 19 Jan 2015 04:17:42 +0000 (20:17 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 19 Jan 2015 04:17:42 +0000 (20:17 -0800)
commit68c15bdc98e98ddf9dff22cec67d388694aa6d3a
tree7ace2e2bea95a6ad09ab403c9559d2fdf366944c
parentd254644e476db56970281379636a59774bbed982
hammer - Attempt to fix improper call to vsetisdirty() in hammer flush

* The hammer flush occurs in the background.  Because of this it is possible
  for a vnode to be reclaimed just prior to the flush code getting to it.

* Attempt to fix an improper call to vsetisdirty() which can panic the machine
  on vp->v_mount becoming NULL.  The vnode reclamation should theoretically be
  interlocked against the inode lock so it should suffice to simply check
  to see if it has been reclaimed yet or not.

* Also don't bother marking the vnode dirty if it is already marked dirty.
sys/vfs/hammer/hammer_inode.c