VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / fs / ext2 / dir.c
index 4f24afb..6af2765 100644 (file)
@@ -257,10 +257,10 @@ ext2_readdir (struct file * filp, void * dirent, filldir_t filldir)
        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 @@ ext2_readdir (struct file * filp, void * dirent, filldir_t filldir)
                                                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;
 }
 
 /*