| Date: Mon, 23 Mar 2015 16:06:26 -0500 |
| From: Dave Kleikamp <dave.kleikamp@oracle.com> |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=utf-8 |
| Subject: jfs: fix readdir regression |
| Content-Transfer-Encoding: 8bit |
| |
| 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: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| fs/jfs/jfs_dtree.c | 4 ++-- |
| 1 files changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/fs/jfs/jfs_dtree.c b/fs/jfs/jfs_dtree.c |
| index 9f7c758..f6f32fa 100644 |
| --- a/fs/jfs/jfs_dtree.c |
| +++ b/fs/jfs/jfs_dtree.c |
| @@ -3103,7 +3103,7 @@ int jfs_readdir(struct file *filp, void *dirent, filldir_t filldir) |
| * self "." |
| */ |
| filp->f_pos = 1; |
| - if (filldir(dirent, ".", 1, 0, ip->i_ino, |
| + if (filldir(dirent, ".", 1, 1, ip->i_ino, |
| DT_DIR)) |
| return 0; |
| } |
| @@ -3111,7 +3111,7 @@ int jfs_readdir(struct file *filp, void *dirent, filldir_t filldir) |
| * parent ".." |
| */ |
| filp->f_pos = 2; |
| - if (filldir(dirent, "..", 2, 1, PARENT(ip), DT_DIR)) |
| + if (filldir(dirent, "..", 2, 2, PARENT(ip), DT_DIR)) |
| return 0; |
| |
| /* |