| From | David Howells <> | Subject | [PATCH 73/73] fallthru: jffs2 support for lookup of d_type/d_ino in fallthrus [ver #2] | Date | Tue, 21 Feb 2012 18:06:47 +0000 |
| |
From: Valerie Aurora <vaurora@redhat.com>
Now that we have full union lookup support, lookup the true d_type and d_ino of a fallthru.
Original-author: Valerie Aurora <vaurora@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> ---
fs/jffs2/dir.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/fs/jffs2/dir.c b/fs/jffs2/dir.c index e294f1d..ce4c393 100644 --- a/fs/jffs2/dir.c +++ b/fs/jffs2/dir.c @@ -168,9 +168,14 @@ static int jffs2_readdir(struct file *filp, void *dirent, filldir_t filldir) continue; } if (fd->type == JFFS2_DT_FALLTHRU) { - /* XXX placeholder until generic_readdir_fallthru() arrives */ - ino = 1; - d_type = DT_UNKNOWN; + int err; + err = generic_readdir_fallthru(filp->f_path.dentry, fd->name, strlen(fd->name), + &ino, &d_type); + if (err) { + D2(printk(KERN_DEBUG "Skipping fallthru dirent \"%s\"\n", fd->name)); + offset++; + continue; + } } else if (!fd->ino && (fd->type != DT_WHT)) { D2(printk(KERN_DEBUG "Skipping deletion dirent \"%s\"\n", fd->name)); offset++;
|