Skip to content

Commit

Permalink
Fix rollback of mounted filesystem regression
Browse files Browse the repository at this point in the history
The Illumos openzfs#3875 patch reverted a part of ZoL's 7b3e34b which added
special-case error handling for zfs_rezget().  The error handling dealt
with the case in which an all-ones object number ended up being passed
to dnode_hold() and causing an EINVAL to be returned from zfs_rezget().

Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#1859
Closes openzfs#1861
  • Loading branch information
dweeezil authored and behlendorf committed Nov 14, 2013
1 parent 09d672d commit 2008e92
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions module/zfs/zfs_vfsops.c
Original file line number Diff line number Diff line change
Expand Up @@ -1480,7 +1480,7 @@ EXPORT_SYMBOL(zfs_suspend_fs);
int
zfs_resume_fs(zfs_sb_t *zsb, const char *osname)
{
int err;
int err, err2;
znode_t *zp;
uint64_t sa_obj = 0;

Expand Down Expand Up @@ -1537,8 +1537,8 @@ zfs_resume_fs(zfs_sb_t *zsb, const char *osname)
mutex_enter(&zsb->z_znodes_lock);
for (zp = list_head(&zsb->z_all_znodes); zp;
zp = list_next(&zsb->z_all_znodes, zp)) {
err = zfs_rezget(zp);
if (err) {
err2 = zfs_rezget(zp);
if (err2) {
remove_inode_hash(ZTOI(zp));
zp->z_is_stale = B_TRUE;
}
Expand Down

0 comments on commit 2008e92

Please sign in to comment.