diff options
author | Chunwei Chen <[email protected]> | 2015-12-18 11:39:41 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-12-28 09:41:30 -0800 |
commit | 29572ccdeff7ddb1211b0f26dea69e0a2f262faf (patch) | |
tree | 42c5bf7b849d47a8029e94ed49484eecd73af003 /include | |
parent | 2ebc7b72b3989ac53c1753f79eaf71d95419c103 (diff) |
Fix empty xattr dir causing lockup
During zfs_rmnode on a xattr dir, if the system crash just after
dmu_free_long_range, we would get empty xattr dir in delete queue. This would
cause blkid=0 be passed into zap_get_leaf_byblk when doing zfs_purgedir during
mount, and would try to do rw_enter on a wrong structure and cause system
lockup.
We fix this by returning ENOENT when blkid is zero in zap_get_leaf_byblk.
Signed-off-by: Chunwei Chen <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #4114
Closes #4052
Closes #4006
Closes #3018
Closes #2861
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions