From: Jan Kara Date: Wed, 5 Oct 2022 16:48:45 +0000 (+0200) Subject: udf: Convert udf_get_parent() to new directory iteration code X-Git-Tag: v6.6.17~5559^2~70 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9b06fbef4202363d74bba5459ddd231db6d3b1af;p=platform%2Fkernel%2Flinux-rpi.git udf: Convert udf_get_parent() to new directory iteration code Convert udf_get_parent() to use udf_fiiter_find_entry(). Signed-off-by: Jan Kara --- diff --git a/fs/udf/namei.c b/fs/udf/namei.c index efc75cf..8127860 100644 --- a/fs/udf/namei.c +++ b/fs/udf/namei.c @@ -1367,17 +1367,15 @@ static struct dentry *udf_get_parent(struct dentry *child) { struct kernel_lb_addr tloc; struct inode *inode = NULL; - struct fileIdentDesc cfi; - struct udf_fileident_bh fibh; - - if (!udf_find_entry(d_inode(child), &dotdot_name, &fibh, &cfi)) - return ERR_PTR(-EACCES); + struct udf_fileident_iter iter; + int err; - if (fibh.sbh != fibh.ebh) - brelse(fibh.ebh); - brelse(fibh.sbh); + err = udf_fiiter_find_entry(d_inode(child), &dotdot_name, &iter); + if (err) + return ERR_PTR(err); - tloc = lelb_to_cpu(cfi.icb.extLocation); + tloc = lelb_to_cpu(iter.fi.icb.extLocation); + udf_fiiter_release(&iter); inode = udf_iget(child->d_sb, &tloc); if (IS_ERR(inode)) return ERR_CAST(inode);