summaryrefslogtreecommitdiffstats
path: root/fs/readdir.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-04-28 01:09:25 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-04-28 01:09:25 +0000
commitb9ba7aeb165cffecdffb60aec8c3fa8d590d9ca9 (patch)
tree42d07b0c7246ae2536a702e7c5de9e2732341116 /fs/readdir.c
parent7406b0a326f2d70ade2671c37d1beef62249db97 (diff)
Merge with 2.3.99-pre6.
Diffstat (limited to 'fs/readdir.c')
-rw-r--r--fs/readdir.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/readdir.c b/fs/readdir.c
index 4bf222288..e6256636e 100644
--- a/fs/readdir.c
+++ b/fs/readdir.c
@@ -22,7 +22,11 @@ int vfs_readdir(struct file *file,
if (!file->f_op || !file->f_op->readdir)
goto out;
down(&inode->i_sem);
- res = file->f_op->readdir(file, buf, filler);
+ down(&inode->i_zombie);
+ res = -ENOENT;
+ if (!IS_DEADDIR(inode))
+ res = file->f_op->readdir(file, buf, filler);
+ up(&inode->i_zombie);
up(&inode->i_sem);
out:
return res;