From: Bob Peterson Date: Thu, 30 Jul 2020 17:31:38 +0000 (-0500) Subject: gfs2: When gfs2_dirty_inode gets a glock error, dump the glock X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e28c02b94f9e039beeb5c75198caf6e17b66c520;p=linux.git gfs2: When gfs2_dirty_inode gets a glock error, dump the glock Before this patch, if function gfs2_dirty_inode got an error when trying to lock the inode glock, it complained, but it didn't say what glock or inode had the problem. In this case, it almost always means that dinode_in found an error with the dinode in the file system. So it makes sense to dump the glock, which tells us the location of the dinode in the file system. That will allow us to analyze the corruption from the metadata. Signed-off-by: Bob Peterson Signed-off-by: Andreas Gruenbacher --- diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index 47d0ae158b699..9f4d9e7be8397 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/super.c @@ -566,6 +566,7 @@ static void gfs2_dirty_inode(struct inode *inode, int flags) ret = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh); if (ret) { fs_err(sdp, "dirty_inode: glock %d\n", ret); + gfs2_dump_glock(NULL, ip->i_gl, true); return; } need_unlock = 1;