In the source file servers/apfs/buffer.c, the put_block function calls
get_block to get the needed block and then decrease the number of
users of this block, then if the number of users
became 0, it deletes it.
the problem is, if this block doesn't exist get_block will create it,
and then put_block will delete it while there is no need for this.
I made a patch and published it on github you can check show it from
this link -> https://gist.github.com/1541091
Thanks,
Hussein