HomeFreeBSD

Account for .zfs ctldir inodes

Description

Account for .zfs ctldir inodes

Because the .zfs ctldir inodes are not backed by physical storage
they use a different create path which was not properly accounting
for them as used. This could result in ->nr_cached_objects()
returning 0 and cause a divide by zero error in prune_super().

In my option there's a kernel bug here too which allows this to
happen. They should either be checking for 0 or adding +1 like
they correctly do earlier in the function.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #617

Details

Provenance
Brian Behlendorf <behlendorf1@llnl.gov>Authored on Mar 22 2012, 9:47 PM
Parents
rGebe7e575eae1: Add .zfs control directory
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG9ed86e7cc7d0: Account for .zfs ctldir inodes (authored by Brian Behlendorf <behlendorf1@llnl.gov>).Mar 22 2012, 10:43 PM