else { while ((sb = get_super_to_sync(type)) != NULL) { if (sb->s_qcop->quota_sync) quota_sync_sb(sb, type); drop_super(sb); } 
 spin_lock(&sb_lock); restart: list_for_each_entry(sb, &super_blocks, s_list) { /* This test just improves performance so it needn't be reliable... */ for (cnt = 0, dirty = 0; cnt < MAXQUOTAS; cnt++) if ((type == cnt || type == -1) && sb_has_quota_enabled(sb, cnt) && info_any_dirty(&sb_dqopt(sb)->info[cnt])) dirty = 1; if (!dirty) continue; sb->s_count++; spin_unlock(&sb_lock); down_read(&sb->s_umount); if (sb->s_root && sb->s_qcop->quota_sync) quota_sync_sb(sb, type); up_read(&sb->s_umount); spin_lock(&sb_lock); if (__put_super_and_need_restart(sb)) goto restart; 
void sync_dquots(struct super_block *sb, int type){	if (sb) {		if (sb->s_qcop->quota_sync)			quota_sync_sb(sb, type);	}	else {		while ((sb = get_super_to_sync(type)) != NULL) {			if (sb->s_qcop->quota_sync)				quota_sync_sb(sb, type);			drop_super(sb);		}	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/618f06362ae3f60f95d7b0e666de25ee6ae35679/quota.c/buggy/fs/quota.c