From mboxrd@z Thu Jan 1 00:00:00 1970 From: Abhi Das Date: Thu, 12 Feb 2015 10:54:10 -0600 Subject: [Cluster-devel] [GFS2 PATCH 0/4] fallocate quota fixes Message-ID: <1423760054-63438-1-git-send-email-adas@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit These patches are related to bz1174295 where fallocate could exceed quota. I'm posting these for early feedback as these patches are only compile-tested so far. patch 1 - This is the patch that actually addresses the quota exceed issue. Quota checks were not being performed against the blocks about to be allocated. patch 2 - Adds new variants of quota check functions that return the number of allowed blocks if quotas are violated by the number of requested blocks patch 3 - Adds a new variant of gfs2_inplace_reserve that returns the max number of available blocks if the function returns -ENOSPC due to unavailability of the requested number of blocks. patch 4 - Allows fallocate to take advantage of patches 2 and 3 to efficiently max out quotas or fill up the fs instead of returning -EDQUOT/-ENOSPC and leaving some available blocks unallocated. Abhi Das (4): gfs2: check quota for blocks we're about to allocate gfs2: add new quota check functions gfs2: add new function gfs2_inpl_rsrv_ret_max_avl gfs2: allow fallocate to max out quotas/fs efficiently fs/gfs2/aops.c | 6 +++--- fs/gfs2/bmap.c | 2 +- fs/gfs2/file.c | 30 ++++++++++++++++++------------ fs/gfs2/inode.c | 14 ++++++++------ fs/gfs2/quota.c | 26 +++++++++++++++++++++----- fs/gfs2/quota.h | 20 +++++++++++++++++--- fs/gfs2/rgrp.c | 13 +++++++++++-- fs/gfs2/rgrp.h | 10 +++++++++- fs/gfs2/xattr.c | 2 +- 9 files changed, 89 insertions(+), 34 deletions(-) -- 1.8.1.4