From: Patrick Steinhardt <ps@pks.im>
To: Karthik Nayak <karthik.188@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 11/16] odb/source-packed: wire up `count_objects()` callback
Date: Tue, 9 Jun 2026 09:27:29 +0200 [thread overview]
Message-ID: <aifAYcq4lQEO_yWq@pks.im> (raw)
In-Reply-To: <CAOLa=ZQdGMo83KggkmeeKYMR475TFqLn=o-nJz4QEUX2njgaOA@mail.gmail.com>
On Mon, Jun 08, 2026 at 09:12:06AM -0700, Karthik Nayak wrote:
> Patrick Steinhardt <ps@pks.im> writes:
>
> [snip]
>
> > diff --git a/odb/source-packed.c b/odb/source-packed.c
> > index a61c809c8c..013d8a50f8 100644
> > --- a/odb/source-packed.c
> > +++ b/odb/source-packed.c
> > @@ -338,6 +338,39 @@ static int odb_source_packed_for_each_object(struct odb_source *source,
> > return ret;
> > }
> >
> > +static int odb_source_packed_count_objects(struct odb_source *source,
> > + enum odb_count_objects_flags flags UNUSED,
> > + unsigned long *out)
> > +{
> > + struct odb_source_packed *packed = odb_source_packed_downcast(source);
> > + struct packfile_list_entry *e;
> > + struct multi_pack_index *m;
> > + unsigned long count = 0;
> > + int ret;
> > +
> > + m = get_multi_pack_index(&packed->files->base);
> > + if (m)
> > + count += m->num_objects + m->num_objects_in_base;
> > +
> > + for (e = packfile_store_get_packs(packed); e; e = e->next) {
> > + if (e->pack->multi_pack_index)
> > + continue;
> > + if (open_pack_index(e->pack)) {
> > + ret = -1;
> > + goto out;
> > + }
> > +
> > + count += e->pack->num_objects;
> > + }
> > +
> > + *out = count;
> > + ret = 0;
> > +
> > +out:
> > + return ret;
> > +}
> > +
> > +
>
> Nit: extra newline.
Good catch, fixed locally.
Patrick
next prev parent reply other threads:[~2026-06-09 7:27 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-04 11:25 [PATCH 00/16] odb: make packed object source a proper `struct odb_source` Patrick Steinhardt
2026-06-04 11:25 ` [PATCH 01/16] packfile: rename `struct packfile_store` to `odb_source_packed` Patrick Steinhardt
2026-06-05 14:25 ` Karthik Nayak
2026-06-08 6:23 ` Patrick Steinhardt
2026-06-04 11:25 ` [PATCH 02/16] packfile: move packed source into "odb/" subsystem Patrick Steinhardt
2026-06-08 15:09 ` Karthik Nayak
2026-06-09 7:27 ` Patrick Steinhardt
2026-06-04 11:25 ` [PATCH 03/16] odb/source-packed: store pointer to "files" instead of generic source Patrick Steinhardt
2026-06-04 11:25 ` [PATCH 04/16] odb/source-packed: start converting to a proper `struct odb_source` Patrick Steinhardt
2026-06-08 15:29 ` Karthik Nayak
2026-06-09 7:27 ` Patrick Steinhardt
2026-06-09 10:47 ` Patrick Steinhardt
2026-06-04 11:25 ` [PATCH 05/16] odb/source-packed: wire up `close()` callback Patrick Steinhardt
2026-06-08 15:31 ` Karthik Nayak
2026-06-04 11:25 ` [PATCH 06/16] odb/source-packed: wire up `reprepare()` callback Patrick Steinhardt
2026-06-04 11:25 ` [PATCH 07/16] packfile: use higher-level interface to implement `has_object_pack()` Patrick Steinhardt
2026-06-08 16:07 ` Karthik Nayak
2026-06-04 11:25 ` [PATCH 08/16] odb/source-packed: wire up `read_object_info()` callback Patrick Steinhardt
2026-06-04 11:25 ` [PATCH 09/16] odb/source-packed: wire up `read_object_stream()` callback Patrick Steinhardt
2026-06-04 11:25 ` [PATCH 10/16] odb/source-packed: wire up `for_each_object()` callback Patrick Steinhardt
2026-06-04 11:25 ` [PATCH 11/16] odb/source-packed: wire up `count_objects()` callback Patrick Steinhardt
2026-06-08 16:12 ` Karthik Nayak
2026-06-09 7:27 ` Patrick Steinhardt [this message]
2026-06-04 11:25 ` [PATCH 12/16] odb/source-packed: wire up `find_abbrev_len()` callback Patrick Steinhardt
2026-06-04 11:25 ` [PATCH 13/16] odb/source-packed: wire up `freshen_object()` callback Patrick Steinhardt
2026-06-04 11:25 ` [PATCH 14/16] odb/source-packed: stub out remaining functions Patrick Steinhardt
2026-06-04 11:25 ` [PATCH 15/16] midx: refactor interfaces to work on "packed" source Patrick Steinhardt
2026-06-04 11:25 ` [PATCH 16/16] odb/source-packed: drop pointer to "files" parent source Patrick Steinhardt
2026-06-08 16:15 ` [PATCH 00/16] odb: make packed object source a proper `struct odb_source` Karthik Nayak
2026-06-09 7:27 ` Patrick Steinhardt
2026-06-09 8:50 ` [PATCH v2 00/17] " Patrick Steinhardt
2026-06-09 8:50 ` [PATCH v2 01/17] packfile: rename `struct packfile_store` to `odb_source_packed` Patrick Steinhardt
2026-06-09 8:50 ` [PATCH v2 02/17] packfile: split out packfile list logic Patrick Steinhardt
2026-06-09 8:50 ` [PATCH v2 03/17] packfile: move packed source into "odb/" subsystem Patrick Steinhardt
2026-06-09 8:50 ` [PATCH v2 04/17] odb/source-packed: store pointer to "files" instead of generic source Patrick Steinhardt
2026-06-09 8:50 ` [PATCH v2 05/17] odb/source-packed: start converting to a proper `struct odb_source` Patrick Steinhardt
2026-06-09 8:50 ` [PATCH v2 06/17] odb/source-packed: wire up `close()` callback Patrick Steinhardt
2026-06-09 8:51 ` [PATCH v2 07/17] odb/source-packed: wire up `reprepare()` callback Patrick Steinhardt
2026-06-09 8:51 ` [PATCH v2 08/17] packfile: use higher-level interface to implement `has_object_pack()` Patrick Steinhardt
2026-06-09 8:51 ` [PATCH v2 09/17] odb/source-packed: wire up `read_object_info()` callback Patrick Steinhardt
2026-06-09 8:51 ` [PATCH v2 10/17] odb/source-packed: wire up `read_object_stream()` callback Patrick Steinhardt
2026-06-09 8:51 ` [PATCH v2 11/17] odb/source-packed: wire up `for_each_object()` callback Patrick Steinhardt
2026-06-09 8:51 ` [PATCH v2 12/17] odb/source-packed: wire up `count_objects()` callback Patrick Steinhardt
2026-06-09 8:51 ` [PATCH v2 13/17] odb/source-packed: wire up `find_abbrev_len()` callback Patrick Steinhardt
2026-06-09 8:51 ` [PATCH v2 14/17] odb/source-packed: wire up `freshen_object()` callback Patrick Steinhardt
2026-06-09 8:51 ` [PATCH v2 15/17] odb/source-packed: stub out remaining functions Patrick Steinhardt
2026-06-09 8:51 ` [PATCH v2 16/17] midx: refactor interfaces to work on "packed" source Patrick Steinhardt
2026-06-09 8:51 ` [PATCH v2 17/17] odb/source-packed: drop pointer to "files" parent source Patrick Steinhardt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aifAYcq4lQEO_yWq@pks.im \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=karthik.188@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox