From mboxrd@z Thu Jan 1 00:00:00 1970 From: Valerie Aurora Subject: [PATCH 60/74] fallthru: jffs2 support for lookup of d_type/d_ino in fallthrus Date: Tue, 22 Mar 2011 19:04:51 -0700 Message-ID: <1300845905-14433-17-git-send-email-valerie.aurora@gmail.com> References: <1300845905-14433-1-git-send-email-valerie.aurora@gmail.com> Cc: viro@zeniv.linux.org.uk, Valerie Aurora , Valerie Aurora To: linux-fsdevel@vger.kernel.org, linux@vger.kernel.org Return-path: Received: from mail-gw0-f46.google.com ([74.125.83.46]:38423 "EHLO mail-gw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754932Ab1CWCGA (ORCPT ); Tue, 22 Mar 2011 22:06:00 -0400 In-Reply-To: <1300845905-14433-1-git-send-email-valerie.aurora@gmail.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: From: Valerie Aurora Now that we have full union lookup support, lookup the true d_type and d_ino of a fallthru. Signed-off-by: Valerie Aurora --- 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 dc0e01e..bd270dc 100644 --- a/fs/jffs2/dir.c +++ b/fs/jffs2/dir.c @@ -174,9 +174,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++; -- 1.7.0.4