kernel - Fix incorrect assertion in ffs_reallocblks()
commite3fc69eb7932705c4ac3ff97665b59d2d8106992
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 27 Dec 2014 22:44:14 +0000 (27 14:44 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sun, 28 Dec 2014 00:44:36 +0000 (27 16:44 -0800)
tree84b87816a03d67219c0a2fb21c12700787227e55
parente86ad61a2ea73db6f3071d794ea3a02ea5ba5c12
kernel - Fix incorrect assertion in ffs_reallocblks()

* When softupdates is not enabled reallocblks should not try to free
  an unallocated block.  This appears to be possible if the reallocation
  range covers part of a file with a hole in it.  FSX appears to reveal
  this case.

* It is also possible that this case is due to some interaction between
  the DragonFly buffer cache and UFS that breaks b_offset assignment
  assumptions made by UFS, but I couldn't find any particular vector
  for the possibility.
sys/vfs/ufs/ffs_alloc.c