summaryrefslogtreecommitdiffstats
path: root/fs/gfs2
diff options
context:
space:
mode:
authorBob Peterson <rpeterso@redhat.com>2017-05-26 08:28:56 -0500
committerBob Peterson <rpeterso@redhat.com>2017-06-12 14:38:53 -0500
commitd87d62b75dfd8d33dc1baf0c4d3792788b554661 (patch)
tree3f5df1442104304257b3d52356ce3f6b023a0fb8 /fs/gfs2
parent3ef2bc099d1cce09e2844467e2ced98e1a44609d (diff)
downloadlinux-d87d62b75dfd8d33dc1baf0c4d3792788b554661.tar.gz
linux-d87d62b75dfd8d33dc1baf0c4d3792788b554661.tar.bz2
linux-d87d62b75dfd8d33dc1baf0c4d3792788b554661.zip
GFS2: Withdraw when directory entry inconsistencies are detected
This patch prints an inode consistency error and withdraws the file system when directory entry counts are mismatched. Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Diffstat (limited to 'fs/gfs2')
-rw-r--r--fs/gfs2/dir.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c
index 79113219be5f..96a7487b09b6 100644
--- a/fs/gfs2/dir.c
+++ b/fs/gfs2/dir.c
@@ -1444,7 +1444,7 @@ static int gfs2_dir_read_leaf(struct inode *inode, struct dir_context *ctx,
"g.offset (%u)\n",
(unsigned long long)bh->b_blocknr,
entries2, g.offset);
-
+ gfs2_consist_inode(ip);
error = -EIO;
goto out_free;
}
@@ -1612,6 +1612,7 @@ int gfs2_dir_read(struct inode *inode, struct dir_context *ctx,
(unsigned long long)dip->i_no_addr,
dip->i_entries,
g.offset);
+ gfs2_consist_inode(dip);
error = -EIO;
goto out;
}