GFS2: Withdraw when directory entry inconsistencies are detected
authorBob Peterson <rpeterso@redhat.com>
Fri, 26 May 2017 13:28:56 +0000 (08:28 -0500)
committerBob Peterson <rpeterso@redhat.com>
Mon, 12 Jun 2017 19:38:53 +0000 (14:38 -0500)
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>
fs/gfs2/dir.c

index 79113219be5f983c7ecf62d56c5fd6d6f87a57b6..96a7487b09b6c30d60e0c0ac9221a3cab0de53bd 100644 (file)
@@ -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;
                }