Re: [PATCH 1/2] compat: introduce stat_to_kilobytes
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 18, 2008, 20:40 UTC
- Message-ID
- <7vbpzqm50b.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <200808182157.16392.johannes.sixt@telecom.at>
Johannes Sixt <johannes.sixt@telecom.at> writes:
Show 24 quoted lines
> From: Junio C Hamano <gitster@pobox.com> > > Some platforms do not have st_blocks member in "struct stat"; mingw > already emulates it by rounding it up to closest 512-byte blocks (even > though it could overcount when a file has holes). > > The reason to use the member is only to figure out how many kilobytes the > file occupies on-disk, so give a helper in git-compat-util.h to help these > platforms. > > Signed-off-by: Junio C Hamano <gitster@pobox.com> > Acked-by: Johannes Sixt <johannes.sixt@telecom.at> > --- > On Sonntag, 17. August 2008, Junio C Hamano wrote: >> The comment before "struct mingw_stat" suggests that the only reason >> this compatiblity definition exists is to add st_blocks member, so I >> suspect we could remove the definition and simplify the compatibility >> layer a lot more, but I do not know MinGW, so I am CC'ing j6t here. > > Makes sense. Here it is again, with the Makefile fixup noted by Andreas. > > But notice that we now underestimated the size of loose objects more than > we did previously because we now round down individual sizes; previously > we rounded down only the total size.
Ah, you are right.
Perhaps we should fix this by making the helper stat_to_on_disk_bytes(), so that on platform with st_blocks counted in 512-byte blocks we multiply it by 512?