On Mon 06-05-19 09:39:03, Chengguang Xu wrote: > Actually there are four lists for dquot management, so add > the description of dqui_dirty_list to comment. > > Signed-off-by: Chengguang Xu <cgxu...@gmail.com>
Thanks applied with small addition: Note that some filesystems do dirty dquot tracking on their own (e.g. in a journal) and thus don't use dqi_dirty_list. Honza > --- > fs/quota/dquot.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c > index fc20e06c56ba..6a236bdaef89 100644 > --- a/fs/quota/dquot.c > +++ b/fs/quota/dquot.c > @@ -223,9 +223,9 @@ static void put_quota_format(struct quota_format_type > *fmt) > > /* > * Dquot List Management: > - * The quota code uses three lists for dquot management: the inuse_list, > - * free_dquots, and dquot_hash[] array. A single dquot structure may be > - * on all three lists, depending on its current state. > + * The quota code uses four lists for dquot management: the inuse_list, > + * free_dquots, dqi_dirty_list, and dquot_hash[] array. A single dquot > + * structure may be on some of those lists, depending on its current state. > * > * All dquots are placed to the end of inuse_list when first created, and > this > * list is used for invalidate operation, which must look at every dquot. > @@ -236,6 +236,10 @@ static void put_quota_format(struct quota_format_type > *fmt) > * dqstats.free_dquots gives the number of dquots on the list. When > * dquot is invalidated it's completely released from memory. > * > + * Dirty dquots are added to the dqi_dirty_list of quota_info when mark > + * dirtied, and this list is searched when writeback diry dquots to > + * quota file. > + * > * Dquots with a specific identity (device, type and id) are placed on > * one of the dquot_hash[] hash chains. The provides an efficient search > * mechanism to locate a specific dquot. > -- > 2.17.2 > > -- Jan Kara <j...@suse.com> SUSE Labs, CR