hammer2 - Major restructuring, part 2/several
authorMatthew Dillon <dillon@apollo.backplane.com>
Sun, 28 Apr 2013 23:24:56 +0000 (16:24 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sun, 28 Apr 2013 23:28:25 +0000 (16:28 -0700)
commitd5fabb7006ddb6d88f786e86892f6f5381b584ea
treefa993659f5b9b9776aeacf7f322f0b9188c06ec4
parent8a32dff3bbb5f1044369b831e189ce0b151b7944
hammer2 - Major restructuring, part 2/several

* Stabilization pass on hammer2_inode_connect() and
  hammer2_hardlink_consolidate().  Adjust the API to accomodate
  requirements (primarily that the caller is responsible for holding
  the inode locked and for replacing ip->chain).

* Add hammer2_inode_repoint() to handle the guts of replacing ip->chain.

* Flush code shouldn't be messing the chain->bref when deleting the chain
  as the chain may be used in a duplication operation after the call.

* basic rm/mv/ln operations now work (note: we still need to code the
  reparenting of sub-chains based on chain->duplink, and hardlinks are
  still buggy when parent directories get renamed).
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_flush.c
sys/vfs/hammer2/hammer2_inode.c
sys/vfs/hammer2/hammer2_subr.c
sys/vfs/hammer2/hammer2_vnops.c