From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A895533A9DD for ; Thu, 18 Jun 2026 19:30:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781811023; cv=none; b=so6Coq3teijOdxdTQ+6kbsPfTSlyyaiJIqxXRDSt3vIcW5oUH9q+ooaPoBPtmG3otm2Gc6SL9pwvfhK+ZK0Bsh3YgBtKkd6pA3TPRmuoW7222WwqQ3wTYSrAFY7oXHVHQ5j0Tj3+Q3MYjaHlhw6gyatEePL0mOKqCKFlR7014AQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781811023; c=relaxed/simple; bh=6062KEYXG9Ua8ywfCsTvp5Rnx5jILh4QwpuyrMCkUzY=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=RwUsWblTqD9tvMG7dDMtHwZ2V9XxaHnhXGa+sUT/vt8BqkJHzKdBh2z4RfNckcH8NpMYr7s6Q2aUMtWYTkcH+FD75a3wPLKDw9kDEWanez4gQImY5f3SgGEfgVUlWycEYP2I38Z1nlvz70MQqiUojDlEocXhzv5D4FAznzPh5vo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kpO2RsV2; arc=none smtp.client-ip=209.85.216.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kpO2RsV2" Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-36d8b644473so1067119a91.3 for ; Thu, 18 Jun 2026 12:30:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781811022; x=1782415822; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=OSpakCMQqWha0zG0lRbxbxTI9L4OMyCd7rP275e0rXs=; b=kpO2RsV2sc1qlQoHvrNvbbgTNeypDLJwBMmnliQzrDwhS4uCDflbCjsuz03PrueKxn ydDySHRqekhJ3ZsfpIeF5rd/DJuAEaUoaIMaCGlJWTcc5mtHj5THpM3sdWETDfGZzOlC za2SHQfJGth/l1CFXWmNmRKJBgbhWg0W5S8cxgimtn6/f9U2UCajTaEbVyS9XGBKgfA2 k0S7SABiZ3u/edKgceCm3cKBoJPUFxqe6WksBjcphJ/DiNeTg/Ux8OdPT2VDW8CS49Zz MFfCZ3sj336N9twad22UQo9FIaba0Qf1DEN0hXI4iKTvcl4pICYyntEHsVvLRPh3g/ex +10g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781811022; x=1782415822; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=OSpakCMQqWha0zG0lRbxbxTI9L4OMyCd7rP275e0rXs=; b=dPZ+mi248jhl00AyEZ2QEuwsRrP9GbZ7PXbgWjPKk4nurmEFZKPx53sKz5WR8RASaz CknpdyTSV31mfylB97tWJVq3hJrx/B5QZmkeUEGTSR1ATILizpu514nKMEtPUwfYg0Jw l0HvHL/6nFM6Qzuld5R/ZhxvoHAnds7k/HbP90BnH4e4O6zXaX+weYEKLjwEHpn3en44 AEOPhjF3J+wEcAm2Enul8oIAUyXDNoVVDBHZMtJARXthpxJlSH8deb9ojV0pzCs/KBcs BC7ixGQ7Dp0CCWvTI4Fp3CRNyS5wNkdSRV9CuQJhudNqSpkIi7pAabCvizG5E4c7QYdR /4aw== X-Forwarded-Encrypted: i=1; AFNElJ8R5K8tdr5yjBFiTJxtd5javrHBiNqArJYZ8/0HyaAuj6aLFCSxBxC/8vSo7yRpJ1uX7JmIC68lRHudtZg=@vger.kernel.org X-Gm-Message-State: AOJu0YzAk3PNCdJYI0wmf5KtpPyQCgKPFEQOKOVTyE6CvpxNKQJtrRzT +o9iV330oG7Oq+dUSWkLHEoWS6FNdFXL+rNnuLsa3dt6RZrhPthzcgr2dljDUqSK X-Gm-Gg: AfdE7cmyOZ5MfMlcSGIjNrREzLHo8q+VMlM6DkFGk0Gs26sKZbKg2jka+WFzTk4L1pv Zol54KGUw8Vshd6CReWc+YqT6LJEdYTEPuLpvU4iY2jy5fzbMG4e6rE+uN4RyNDzfHZpotT4uli POA9tsMNEfA5a3E6E9hdlyS0FQS7bcHai5XRXjhcYVAp2NAG8fbOREEbAoFuna9LOgRtTX9jTC/ +GzlMcHFHZ+YciLYrCSpNbG5apiySwQ2YmziJjhYs2aKas9tnwXbBYVFvjJ8hq+jLGDBu0NgdAb oc3eE854k/GLuMQ0S8dMFWQ2Thm1+a4KBApmdUHbNzlk+60oJL/nhibB9O2BEKvYk4mhwzCagyv SqTP3q9cyxImW3RNEmQ2q5FfZhHUGyoF7HyGDyUiw3dL5IAghUxnTAGOiLxtIxK8Azb4n986n/d cci1epc2Nv2x17KMG8UHagc8uN5Vl0XQWrCw== X-Received: by 2002:a17:90b:4a90:b0:36b:a0fa:ff96 with SMTP id 98e67ed59e1d1-37d160a0211mr682536a91.12.1781811022012; Thu, 18 Jun 2026 12:30:22 -0700 (PDT) Received: from LAPTOP-TMVMP5FD.localdomain ([106.222.251.180]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-37d1600975asm234774a91.0.2026.06.18.12.30.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Jun 2026 12:30:21 -0700 (PDT) From: Keshav Verma To: Christian Brauner Cc: Jan Kara , Mateusz Guzik , Chuck Lever , Jeff Layton , Keshav Verma , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] efs: fix direct extent lookup for indirect extents Date: Fri, 19 Jun 2026 01:00:05 +0530 Message-Id: <20260618193005.3162-1-iganschel@gmail.com> X-Mailer: git-send-email 2.39.5 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The loop that finds the direct extent containing an indirect extent used cur < ibase as its condition. Since ibase starts at zero, the loop never advances for normal non-negative cur values, so only the first direct extent is considered. Iterate over the direct extents and stop when cur falls within the range covered by the current direct extent. Signed-off-by: Keshav Verma --- fs/efs/inode.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/fs/efs/inode.c b/fs/efs/inode.c index 4b132729e638..16b5ee10e323 100644 --- a/fs/efs/inode.c +++ b/fs/efs/inode.c @@ -254,9 +254,14 @@ efs_block_t efs_map_block(struct inode *inode, efs_block_t block) { * */ ibase = 0; - for(dirext = 0; cur < ibase && dirext < direxts; dirext++) { - ibase += in->extents[dirext].cooked.ex_length * + for (dirext = 0; dirext < direxts; dirext++) { + int entries = in->extents[dirext].cooked.ex_length * (EFS_BLOCKSIZE / sizeof(efs_extent)); + + if (cur < ibase + entries) + break; + + ibase += entries; } if (dirext == direxts) { -- 2.39.5