* [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®