Message ID | 1586225124-22430-1-git-send-email-kaixuxia@tencent.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] xfs: check if reserved free disk blocks is needed | expand |
On Tue, Apr 07, 2020 at 10:05:24AM +0800, xiakaixu1987@gmail.com wrote: > From: Kaixu Xia <kaixuxia@tencent.com> > > We share an inode between gquota and pquota with the older > superblock that doesn't have separate pquotino, and for the > need_alloc == false case we don't need to call xfs_dir_ialloc() > function, so add the check if reserved free disk blocks is > needed. > > Signed-off-by: Kaixu Xia <kaixuxia@tencent.com> > Reviewed-by: Brian Foster <bfoster@redhat.com> > --- > v2: > - improve the commit log. > > fs/xfs/xfs_qm.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c > index 6678baa..b684b04 100644 > --- a/fs/xfs/xfs_qm.c > +++ b/fs/xfs/xfs_qm.c > @@ -780,7 +780,8 @@ struct xfs_qm_isolate { > } > > error = xfs_trans_alloc(mp, &M_RES(mp)->tr_create, > - XFS_QM_QINOCREATE_SPACE_RES(mp), 0, 0, &tp); > + need_alloc ? XFS_QM_QINOCREATE_SPACE_RES(mp) : 0, > + 0, 0, &tp); looks fine. Reviewed-by: Dave Chinner <dchinner@redhat.com>
On 4/6/20 9:05 PM, xiakaixu1987@gmail.com wrote: > From: Kaixu Xia <kaixuxia@tencent.com> > > We share an inode between gquota and pquota with the older > superblock that doesn't have separate pquotino, and for the > need_alloc == false case we don't need to call xfs_dir_ialloc() > function, so add the check if reserved free disk blocks is > needed. > > Signed-off-by: Kaixu Xia <kaixuxia@tencent.com> > Reviewed-by: Brian Foster <bfoster@redhat.com> > --- > v2: > - improve the commit log. I wonder if we can improve the very generic summary, too ;) maybe something like: xfs: reserve quota inode transaction space only when needed but in any case, Reviewed-by: Eric Sandeen <sandeen@redhat.com> > fs/xfs/xfs_qm.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c > index 6678baa..b684b04 100644 > --- a/fs/xfs/xfs_qm.c > +++ b/fs/xfs/xfs_qm.c > @@ -780,7 +780,8 @@ struct xfs_qm_isolate { > } > > error = xfs_trans_alloc(mp, &M_RES(mp)->tr_create, > - XFS_QM_QINOCREATE_SPACE_RES(mp), 0, 0, &tp); > + need_alloc ? XFS_QM_QINOCREATE_SPACE_RES(mp) : 0, > + 0, 0, &tp); > if (error) > return error; > >
diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c index 6678baa..b684b04 100644 --- a/fs/xfs/xfs_qm.c +++ b/fs/xfs/xfs_qm.c @@ -780,7 +780,8 @@ struct xfs_qm_isolate { } error = xfs_trans_alloc(mp, &M_RES(mp)->tr_create, - XFS_QM_QINOCREATE_SPACE_RES(mp), 0, 0, &tp); + need_alloc ? XFS_QM_QINOCREATE_SPACE_RES(mp) : 0, + 0, 0, &tp); if (error) return error;