jfs: fix readdir regression

Upstream commit 44512449, "jfs: fix readdir cookie incompatibility
with NFSv4", was backported incorrectly into the stable trees which
used the filldir callback (rather than dir_emit). The position is
being incorrectly passed to filldir for the . and .. entries.

The still-maintained stable trees that need to be fixed are 3.2.y,
3.4.y and 3.10.y.

https://bugzilla.kernel.org/show_bug.cgi?id=94741

Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Cc: jfs-discussion@lists.sourceforge.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Dave Kleikamp 2015-03-23 16:06:26 -05:00 committed by Greg Kroah-Hartman
parent e3f5ff371c
commit 1ca630d975

View File

@ -3103,7 +3103,7 @@ int jfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
* self "." * self "."
*/ */
filp->f_pos = 1; filp->f_pos = 1;
if (filldir(dirent, ".", 1, 0, ip->i_ino, if (filldir(dirent, ".", 1, 1, ip->i_ino,
DT_DIR)) DT_DIR))
return 0; return 0;
} }
@ -3111,7 +3111,7 @@ int jfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
* parent ".." * parent ".."
*/ */
filp->f_pos = 2; filp->f_pos = 2;
if (filldir(dirent, "..", 2, 1, PARENT(ip), DT_DIR)) if (filldir(dirent, "..", 2, 2, PARENT(ip), DT_DIR))
return 0; return 0;
/* /*