commit 675fb168995325bee985629b61b9dda56c94fefc
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date:   Fri May 18 11:57:26 2007 -0400

    unionfs_readdir to ingore EINVAL error from filldir so that nfs_readdir 
does not fail

diff --git a/fs/unionfs/dirfops.c b/fs/unionfs/dirfops.c
index 54057a8..3ecdd1b 100644
--- a/fs/unionfs/dirfops.c
+++ b/fs/unionfs/dirfops.c
@@ -90,6 +90,13 @@ static int unionfs_readdir(struct file *file, void *dirent, 
filldir_t filldir)
 
        /* filldir */
        err = filldir(dirent, name, namelen, odf_file->f_pos, ino, d_type);
+       /* nfs_filldir buffer might be full and returned EINVAL, we must return
+        * no error so nfs_readdir continues readding the dir
+        */
+       if (err == -EINVAL) {
+               err = 0;
+               goto out;
+       }
        if (err)
                goto out;
 
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to