in osd_ldiskfs_it_fill()
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I5d2242e0864cbaa72af096b263d8758966a6be22
Reviewed-on: https://review.whamcloud.com/40137
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
filp->f_cred = current_cred();
rc = osd_security_file_alloc(filp);
if (rc)
- RETURN(rc);
+ GOTO(unlock, rc);
filp->f_flags |= O_NOATIME;
filp->f_mode |= FMODE_NONOTIFY;
rc = iterate_dir(filp, &buf.ctx);
if (rc)
- RETURN(rc);
-
- if (hlock != NULL)
- ldiskfs_htree_unlock(hlock);
- else
- up_read(&obj->oo_ext_idx_sem);
+ GOTO(unlock, rc);
if (it->oie_rd_dirent == 0) {
/*
it->oie_dirent = it->oie_buf;
it->oie_it_dirent = 1;
}
+unlock:
+ if (hlock != NULL)
+ ldiskfs_htree_unlock(hlock);
+ else
+ up_read(&obj->oo_ext_idx_sem);
RETURN(rc);
}