Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 49686f71 authored by Steven Whitehouse's avatar Steven Whitehouse
Browse files

[GFS2] Fix ordering of page disposal vs. glock_dq



In case of unlinked files with dirty pages GFS2 wasn't clearing
the pages in quite the right order. This patch clears the pages
earlier (before the qlock_dq) to avoid the situation that the
release of the glock results in attempting to write back data that
has already been deallocated.

This fixes Red Hat bugzilla: #220117

Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
parent 4edde74e
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -429,6 +429,12 @@ static void gfs2_delete_inode(struct inode *inode)
	}

	error = gfs2_dinode_dealloc(ip);
	/*
	 * Must do this before unlock to avoid trying to write back
	 * potentially dirty data now that inode no longer exists
	 * on disk.
	 */
	truncate_inode_pages(&inode->i_data, 0);

out_unlock:
	gfs2_glock_dq(&ip->i_iopen_gh);