From patchwork Fri Dec 16 15:24:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kara X-Patchwork-Id: 13075110 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 79209C3DA71 for ; Fri, 16 Dec 2022 15:27:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231391AbiLPP1W (ORCPT ); Fri, 16 Dec 2022 10:27:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49394 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231393AbiLPP1G (ORCPT ); Fri, 16 Dec 2022 10:27:06 -0500 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C7D7162EAC for ; Fri, 16 Dec 2022 07:27:03 -0800 (PST) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 5B6F15D117; Fri, 16 Dec 2022 15:27:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1671204422; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VALUYGJwonQL6JXeNFmOH2UTTdGSay9R4WJYhSSh8RA=; b=ZDyDFB9Uz+5QUALHMzOkx4Jv7qkfw/JzfycluKZrJVkvjytcQUrUTdQVBa5+NBVHUC3eOi jM9mMUqzAiHg+WCdVgj4nHdDgFXgX9WYCz2vzlgxT3HzDB+Q8baiky/JIOIeiRZhUzdzrY uEvAcaffFX36Cfe7nNRtMrS+OvfsV/w= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1671204422; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VALUYGJwonQL6JXeNFmOH2UTTdGSay9R4WJYhSSh8RA=; b=mezZ3MZLBzhvmgIxxtUqi40a+W6u7FyEMSD49sOFzmaX82aPmdHrjZNMjZ3bsC72O8q7+d NQtik6/Aj/yLpJAA== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2B24113905; Fri, 16 Dec 2022 15:27:02 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id jAOECkaOnGPTCAAAMHmgww (envelope-from ); Fri, 16 Dec 2022 15:27:02 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id 971E5A0769; Fri, 16 Dec 2022 16:26:56 +0100 (CET) From: Jan Kara To: Cc: Jan Kara Subject: [PATCH 07/20] udf: Convert udf_lookup() to use new directory iteration code Date: Fri, 16 Dec 2022 16:24:11 +0100 Message-Id: <20221216152656.6236-7-jack@suse.cz> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20221216121344.14025-1-jack@suse.cz> References: <20221216121344.14025-1-jack@suse.cz> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1339; i=jack@suse.cz; h=from:subject; bh=va+gwhDl+dtLY7gJBWPGYf7uNOYxxU5Nae1VObzekLQ=; b=owEBbQGS/pANAwAIAZydqgc/ZEDZAcsmYgBjnI2cNr/bJmyDxnitSd22HBY5wzb8QEz6gKN1ZelK ZKWe6OuJATMEAAEIAB0WIQSrWdEr1p4yirVVKBycnaoHP2RA2QUCY5yNnAAKCRCcnaoHP2RA2TcFB/ 9nBZLgqUPBmlCdCSp0fI9lpngPyxEh1UmM8i1hassRysDWmu9TcxUKAP1nIWpWvpUHJ8LeKU5BT53k g5DwVPwPB68Lwa7hfFCcNG61KZiu0ETglLYSB6J2vsVQ5++Z8BjjTZWu4D+lmaCRnWer02p1936J37 Fq5mNhFg6LkGLfSXx8F1ZeoUm+J91k7s3r9dW9SD2Vf7pnGVTkoavOpi/r6UCvjqp5/pCGSTnTTm5I zPAxIKyGSiW/5qlrFYTR8m2k7q37CtY86Ua/5ZRPfo3Hdk1YXvMJAsYobdi+sLB/AOFFh3Cu2s0Fjd lMOnqF2gV1/GdEvFMfhM+1DqiQqHZj X-Developer-Key: i=jack@suse.cz; a=openpgp; fpr=93C6099A142276A28BBE35D815BC833443038D8C Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org Convert udf_lookup() to use udf_fiiter_find_entry() for looking up directory entries. Signed-off-by: Jan Kara --- fs/udf/namei.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/fs/udf/namei.c b/fs/udf/namei.c index 145883d15c0f..efc75cf5722d 100644 --- a/fs/udf/namei.c +++ b/fs/udf/namei.c @@ -366,25 +366,22 @@ static struct dentry *udf_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags) { struct inode *inode = NULL; - struct fileIdentDesc cfi; - struct udf_fileident_bh fibh; - struct fileIdentDesc *fi; + struct udf_fileident_iter iter; + int err; if (dentry->d_name.len > UDF_NAME_LEN) return ERR_PTR(-ENAMETOOLONG); - fi = udf_find_entry(dir, &dentry->d_name, &fibh, &cfi); - if (IS_ERR(fi)) - return ERR_CAST(fi); + err = udf_fiiter_find_entry(dir, &dentry->d_name, &iter); + if (err < 0 && err != -ENOENT) + return ERR_PTR(err); - if (fi) { + if (err == 0) { struct kernel_lb_addr loc; - if (fibh.sbh != fibh.ebh) - brelse(fibh.ebh); - brelse(fibh.sbh); + loc = lelb_to_cpu(iter.fi.icb.extLocation); + udf_fiiter_release(&iter); - loc = lelb_to_cpu(cfi.icb.extLocation); inode = udf_iget(dir->i_sb, &loc); if (IS_ERR(inode)) return ERR_CAST(inode);