HomeFreeBSD

Fix a long standing bug in journaled soft-updates. The dirrem structure

Description

Fix a long standing bug in journaled soft-updates. The dirrem structure
needs to handle file removal, directory removal, file move, directory move,
etc. The code in handle_workitem_remove() needs to propagate any completed
journal entries to the write that will render the change stable. In the
case of a moved directory this means the new parent. However, for an
overwrite that frees a directory (DIRCHG) we must move the jsegdep to the
removed inode to be released when it is stable in the cg bitmap or the
unlinked inode list. This case was previously unhandled and caused a
panic.

Reported by: mckusick, pho
Reviewed by: mckusick
Tested by: pho

Details

Provenance
jeffAuthored on
Parents
rS356713: cxgbe/iw_cxgbe: Do not allow memory registrations with page size greater
Branches
Unknown
Tags
Unknown