From 4fe458ed75f19ef195c558978a8ca0c96b2fe926 Mon Sep 17 00:00:00 2001 From: Eric Sandeen Date: Sat, 18 Oct 2008 20:28:00 -0700 Subject: [PATCH] --- yaml --- r: 115925 b: refs/heads/master c: cdbf6dba28e8e6268c8420857696309470009fd9 h: refs/heads/master i: 115923: 5aa50dbd7446404f312348ad60284c34672a15ac v: v3 --- [refs] | 2 +- trunk/fs/ext3/dir.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 7213dfab0d72..5739e55b0b5b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5ec8b75e3a2a94860ee99b5456fe1a963c8680e5 +refs/heads/master: cdbf6dba28e8e6268c8420857696309470009fd9 diff --git a/trunk/fs/ext3/dir.c b/trunk/fs/ext3/dir.c index 28b681ef47e8..4c82531ea0a8 100644 --- a/trunk/fs/ext3/dir.c +++ b/trunk/fs/ext3/dir.c @@ -102,6 +102,7 @@ static int ext3_readdir(struct file * filp, int err; struct inode *inode = filp->f_path.dentry->d_inode; int ret = 0; + int dir_has_error = 0; sb = inode->i_sb; @@ -148,9 +149,12 @@ static int ext3_readdir(struct file * filp, * of recovering data when there's a bad sector */ if (!bh) { - ext3_error (sb, "ext3_readdir", - "directory #%lu contains a hole at offset %lu", - inode->i_ino, (unsigned long)filp->f_pos); + if (!dir_has_error) { + ext3_error(sb, __func__, "directory #%lu " + "contains a hole at offset %lld", + inode->i_ino, filp->f_pos); + dir_has_error = 1; + } /* corrupt size? Maybe no more blocks to read */ if (filp->f_pos > inode->i_blocks << 9) break;