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

From: Jan Kara
Date: Sat Oct 25 2003 - 11:32:08 EST


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?

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/