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

Commit 0fd53554 authored by Abhijith Das's avatar Abhijith Das Committed by Steven Whitehouse
Browse files

[GFS2] Force unstuff of hidden quota inode



This patch forcibly unstuffs (if stuffed) the hidden quota inode at the
first availble opportunity. In any practical scenario the quota inode
won't be stuffed, so this is ok to do. Unstuffing the quota inode allows
us to ignore the case of a stuffed quota inode in gfs2_adjust_quota().

Signed-off-by: default avatarAbhijith Das <adas@redhat.com>
Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
parent 5d35e31f
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -614,6 +614,16 @@ static int gfs2_adjust_quota(struct gfs2_inode *ip, loff_t loc,
	s64 value;
	s64 value;
	int err = -EIO;
	int err = -EIO;


	if (gfs2_is_stuffed(ip)) {
		struct gfs2_alloc *al = NULL;
		al = gfs2_alloc_get(ip);
		/* just request 1 blk */
		al->al_requested = 1;
		gfs2_inplace_reserve(ip);
		gfs2_unstuff_dinode(ip, NULL);
		gfs2_inplace_release(ip);
		gfs2_alloc_put(ip);
	}
	page = grab_cache_page(mapping, index);
	page = grab_cache_page(mapping, index);
	if (!page)
	if (!page)
		return -ENOMEM;
		return -ENOMEM;