Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Author: PengXie <[email protected]> #4719

Closed
wants to merge 2 commits into from
Closed

Conversation

hsepeng
Copy link
Contributor

@hsepeng hsepeng commented Jun 2, 2016

Date: Thur Jun 2 13:59:06 2016 +0800

fix the PANIC: metaslab_free_dva(): bad DVA with zfs #3937

the panic was introduced by the following scenario:
in the previous transaction group, the bonus buffer
was entirely used to store the attributes for the
dnode which override the dn_spill field.
however, when adding more attributes to the file,
it will need the spill block to hold the extra
attributes overflowing the bonus buffer.
make sure to clear the garbage left in the dn_spill
field which was the previous attributes in bonus
buffer, otherwise, after writing out the spill block
data to the new allocated dva, it will try to free
the old block pointed by the invalid dn_spill, that
would introduce the panic

hsepeng added 2 commits June 2, 2016 13:57
Date:   Thur Jun 2 13:59:06 2016 +0800

    fix the PANIC: metaslab_free_dva(): bad DVA with zfs openzfs#3937

    the panic was introduced by the following scenario:
    in the previous transaction group, the bonus buffer
    was entirely used to store the attributes for the
    dnode which override the dn_spill field.
    however, when adding more attributes to the file,
    it will need the spill block to hold the extra
    attributes overflowing the bonus buffer.
    make sure to clear the garbage left in the dn_spill
    field which was the previous attributes in bonus
    buffer, otherwise, after writing out the spill block
    data to the new allocated dva, it will try to free
    the old block pointed by the invalid dn_spill, that
    would introduce the panic
Data:  Thur Jun 2 14:56:00 2016 +800

    fix some cstyle format error
@behlendorf
Copy link
Contributor

@hsepeng could you please squash these two commits, rebase this branch on the latest master branch, and then force update the branch. This will trigger a fresh test run.

Pull request for #3937.

@behlendorf
Copy link
Contributor

Closing, replaced by #4730.

@behlendorf behlendorf closed this Jun 6, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants