• Abhi Das's avatar
    gfs2: allow quota_check and inplace_reserve to return available blocks · 25435e5e
    Abhi Das authored
    
    
    struct gfs2_alloc_parms is passed to gfs2_quota_check() and
    gfs2_inplace_reserve() with ap->target containing the number of
    blocks being requested for allocation in the current operation.
    
    We add a new field to struct gfs2_alloc_parms called 'allowed'.
    gfs2_quota_check() and gfs2_inplace_reserve() return the max
    blocks allowed by quota and the max blocks allowed by the chosen
    rgrp respectively in 'allowed'.
    
    A new field 'min_target', when non-zero, tells gfs2_quota_check()
    and gfs2_inplace_reserve() to not return -EDQUOT/-ENOSPC when
    there are atleast 'min_target' blocks allowable/available. The
    assumption is that the caller is ok with just 'min_target' blocks
    and will likely proceed with allocating them.
    Signed-off-by: default avatarAbhi Das <adas@redhat.com>
    Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
    Acked-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
    25435e5e