On Sun, Jul 16, 2017 at 05:18:27PM +0200, René Scharfe wrote:
> > it looks like assumptions about struct layout are pervasive and part of
> > the on-disk format. Yuck. :(
>
> Assuming that there is no padding probably even works for the platforms
> the code currently supports (basically x86), but
Am 16.07.2017 um 16:04 schrieb Jeff King:
> On Sun, Jul 16, 2017 at 02:17:37PM +0200, René Scharfe wrote:
>
>> -static void stat_data_from_disk(struct stat_data *to, const struct
>> stat_data *from)
>> +static void stat_data_from_disk(struct stat_data *to, const unsigned char
>> *data)
>> {
>>
On Sun, Jul 16, 2017 at 02:17:37PM +0200, René Scharfe wrote:
> -static void stat_data_from_disk(struct stat_data *to, const struct stat_data
> *from)
> +static void stat_data_from_disk(struct stat_data *to, const unsigned char
> *data)
> {
> - to->sd_ctime.sec = get_be32(&from->sd_ctime.s
The untracked cache is stored on disk by concatenating its memory
structures without any padding. Consequently some of the structs are
not aligned at a particular boundary when the whole extension is read
back in one go. That's only OK on platforms without strict alignment
requirements, or for by
4 matches
Mail list logo