summaryrefslogtreecommitdiffstats
path: root/fs/gfs2
diff options
context:
space:
mode:
authorBob Peterson <rpeterso@redhat.com>2021-05-19 20:45:56 +0200
committerAndreas Gruenbacher <agruenba@redhat.com>2021-05-20 13:31:37 +0200
commit4194dec4b4169e5a9a5171db60c2ec00c4d8cf16 (patch)
treedd13f6b6ccca7f77928bd65b3c66ada3109d805f /fs/gfs2
parentgfs2: Prevent direct-I/O write fallback errors from getting lost (diff)
downloadlinux-4194dec4b4169e5a9a5171db60c2ec00c4d8cf16.tar.xz
linux-4194dec4b4169e5a9a5171db60c2ec00c4d8cf16.zip
gfs2: Fix I_NEW check in gfs2_dinode_in
Patch 4a378d8a0d96 added a new check for I_NEW inodes, but unfortunately it used the wrong variable, i_flags. This caused GFS2 to withdraw when gfs2_lookup_by_inum needed to refresh an I_NEW inode. This patch switches to use the correct variable, i_state. Fixes: 4a378d8a0d96 ("gfs2: be careful with inode refresh") Signed-off-by: Bob Peterson <rpeterso@redhat.com> Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'fs/gfs2')
-rw-r--r--fs/gfs2/glops.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c
index 454095e9fedf..54d3fbeb3002 100644
--- a/fs/gfs2/glops.c
+++ b/fs/gfs2/glops.c
@@ -396,7 +396,7 @@ static int gfs2_dinode_in(struct gfs2_inode *ip, const void *buf)
struct timespec64 atime;
u16 height, depth;
umode_t mode = be32_to_cpu(str->di_mode);
- bool is_new = ip->i_inode.i_flags & I_NEW;
+ bool is_new = ip->i_inode.i_state & I_NEW;
if (unlikely(ip->i_no_addr != be64_to_cpu(str->di_num.no_addr)))
goto corrupt;