From: Jan Kara Date: Thu, 17 Oct 2024 20:19:51 +0000 (-0300) Subject: udf: Convert udf_get_parent() to new directory iteration code X-Git-Tag: v5.15.169~73 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dd74f6d3ed6af5775d736a904d61f1ad4e81fcae;p=thirdparty%2Fkernel%2Fstable.git udf: Convert udf_get_parent() to new directory iteration code [ Upstream commit 9b06fbef4202363d74bba5459ddd231db6d3b1af ] Convert udf_get_parent() to use udf_fiiter_find_entry(). Signed-off-by: Jan Kara Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/udf/namei.c b/fs/udf/namei.c index 02fa9482e9cea..bc847e709fe66 100644 --- a/fs/udf/namei.c +++ b/fs/udf/namei.c @@ -1368,17 +1368,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);