Re: Linux 2.4 quota (accounting?) bug ...

From: Herbert Poetzl
Date: Sat Oct 25 2003 - 12:44:34 EST


On Sat, Oct 25, 2003 at 06:31:28PM +0200, Jan Kara wrote:
> Hi,
>
> > a friend of mine, made me aware of the following
> > imbalance, which looks like a minor accounting bug
> > to me, but might be a quota bug ...
> Sorry but the code seems correct to me - we get reference to dquot by
> get_dquot_ref() and than we put the reference by dqput(). dqput() is
> correct because something nasty might happen in the mean time and so we
> might be the last holders of the dquot. What do you think is wrong?

dqput() does dqstats.drops++;
which isn't correct if this should be the same as
put_dquot_ref(), but maybe I'm just irritated by
strange statistics on some kernels showing more
drops than lookups+allocated after sync/quotaoff

best,
Herbert

> Honza
>
> >
> > fs/dquot.c : 394 vfs_quota_sync()
> > -----------------------------------------------------
> > /* Get reference to quota so it won't be invalidated. get_dquot_ref()
> > * is enough since if dquot is locked/modified it can't be
> > * on the free list */
> >
> > > get_dquot_ref(dquot);
> > if (dquot->dq_flags & DQ_LOCKED)
> > wait_on_dquot(dquot);
> > if (dquot_dirty(dquot))
> > sb->dq_op->sync_dquot(dquot);
> > > dqput(dquot);
> > goto restart;
> > }
> >
> >
> > best,
> > Herbert
> >
> >
> --
> Jan Kara <jack@xxxxxxx>
> SuSE CR Labs
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/