diff options
author | Ned Bass <[email protected]> | 2015-03-24 17:00:08 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-03-25 14:48:22 -0700 |
commit | 58806b4cdc32e6f4e4a214cfba3b62a24efb34b7 (patch) | |
tree | 899fab4a1431d5f3279d2e21c7f1eff0af5cdf14 /cmd/zpool | |
parent | ded576e28fe70a40e78a90e4668de8130d599380 (diff) |
dbuf_free_range() overzealously frees dbufs
When called to free a spill block from a dnode, dbuf_free_range() has a
bug that results in all dbufs for the dnode getting freed. A variety of
problems may result from this bug, but a common one was a zap lookup
tripping an ASSERT because the zap buffers had been zeroed out. This
could happen on a dataset with xattr=sa set when extended attributes are
written and removed on a directory concurrently with I/O to files in
that directory.
Signed-off-by: Ned Bass <[email protected]>
Signed-off-by: Tim Chase <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Fixes #3195
Fixes #3204
Fixes #3222
Diffstat (limited to 'cmd/zpool')
0 files changed, 0 insertions, 0 deletions