mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] Fix ext2_readdir()
@ 2004-07-26 10:20 Jan Blunck
  0 siblings, 0 replies; only message in thread
From: Jan Blunck @ 2004-07-26 10:20 UTC (permalink / raw)
  To: linux-kernel; +Cc: torvalds, ext2-devel

[-- Attachment #1: Type: text/plain, Size: 145 bytes --]

I noticed that ext2_readdir() is ignoring the set error return values 
and always returns 0.

Signed-off-by: Jan Blunck <j.blunck@tu-harburg.de>

[-- Attachment #2: ext2_readdir.diff --]
[-- Type: text/x-patch, Size: 960 bytes --]

Index: testing-2.5/fs/ext2/dir.c
===================================================================
--- testing-2.5.orig/fs/ext2/dir.c	2004-07-24 09:54:50.174994960 +0200
+++ testing-2.5/fs/ext2/dir.c	2004-07-24 10:58:52.430883280 +0200
@@ -257,10 +257,10 @@
 	unsigned chunk_mask = ~(ext2_chunk_size(inode)-1);
 	unsigned char *types = NULL;
 	int need_revalidate = (filp->f_version != inode->i_version);
-	int ret = 0;
+	int ret;
 
 	if (pos > inode->i_size - EXT2_DIR_REC_LEN(1))
-		goto done;
+		goto success;
 
 	if (EXT2_HAS_INCOMPAT_FEATURE(sb, EXT2_FEATURE_INCOMPAT_FILETYPE))
 		types = ext2_filetype_table;
@@ -300,17 +300,19 @@
 						le32_to_cpu(de->inode), d_type);
 				if (over) {
 					ext2_put_page(page);
-					goto done;
+					goto success;
 				}
 			}
 		}
 		ext2_put_page(page);
 	}
 
+success:
+	ret = 0;
 done:
 	filp->f_pos = (n << PAGE_CACHE_SHIFT) | offset;
 	filp->f_version = inode->i_version;
-	return 0;
+	return ret;
 }
 
 /*

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-07-26 10:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-26 10:20 [PATCH] Fix ext2_readdir() Jan Blunck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®