kernel BUG with xfs_quota

Eric Sandeen sandeen at sandeen.net
Thu Jul 9 23:00:30 CDT 2009


Chris Walker wrote:
> Hello,
> 
> I ran an xfs_quota command earlier (xfs_quota -x -c 'limit -g
> bsoft=2048g bhard=2148g hepl' /seltzer_lab), which triggered a kernel
> BUG:
> 
> Assertion failed: dst->d_btimer != 0, file:
> fs/xfs/quota/xfs_qm_syscalls.c, line: 927

Well, you hit this:

#ifdef DEBUG
        if (((XFS_IS_UQUOTA_ENFORCED(mp) && dst->d_flags ==
XFS_USER_QUOTA) ||
             (XFS_IS_OQUOTA_ENFORCED(mp) &&
                        (dst->d_flags & (XFS_PROJ_QUOTA |
XFS_GROUP_QUOTA)))) &&
            dst->d_id != 0) {
                if (((int) dst->d_bcount >= (int) dst->d_blk_softlimit) &&
                    (dst->d_blk_softlimit > 0)) {
                        ASSERT(dst->d_btimer != 0);
                }
...

which first raises the question, why are you running with
CONFIG_XFS_DEBUG? :)

I'm no quota guru, but this is something like...

If quota is enabled and the block count is over a non-0 soft limit, then
assert that the timer is non-0 (the timer being how much time is left
before service is refused.

It also got all those values off the disk just prior to the ASSERT.

... and I'm not sure what the problem may be.  But you hit an internal
debugging assert which is only on with CONFIG_XFS_DEBUG, you may get
away with just running without that for now :)

-Eric




More information about the xfs mailing list