Re: [PATCH 09/16] Read index-v5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/02, Nguyen Thai Ngoc Duy wrote:
> General note. I wonder if we should create a separate source file for
> v5 (at least the low level handling part). Partial reading/writing
> will come (hopefully soon) and read-cache.c on master is already close
> to 2000 lines.

To me it would make sense, but we'd probably have to split it to
at least 3 files, one for index-v2, one for index-v5 and one for
the general functions/api.

> On Thu, Aug 2, 2012 at 6:01 PM, Thomas Gummerer <t.gummerer@xxxxxxxxx> wrote:
> > +static struct cache_entry *cache_entry_from_ondisk_v5(struct ondisk_cache_entry_v5 *ondisk,
> > +                                                  struct directory_entry *de,
> > +                                                  char *name,
> > +                                                  size_t len,
> > +                                                  size_t prefix_len)
> > +{
> > +       struct cache_entry *ce = xmalloc(cache_entry_size(len + de->de_pathlen));
> > +       int flags;
> > +
> > +       flags = ntoh_s(ondisk->flags);
> 
> huh? ntoh_s (and ntoh_l below)? search/replace problem?

No, they are correct, Junio introduced this functions with index-v4 for
systems which need aligned access. They are defined as written below.

> #ifndef NEEDS_ALIGNED_ACCESS
> #define ntoh_s(var) ntohs(var)
> #define ntoh_l(var) ntohl(var)
> #else
> static inline uint16_t ntoh_s_force_align(void *p)
> {
> 	uint16_t x;
> 	memcpy(&x, p, sizeof(x));
> 	return ntohs(x);
> }
> static inline uint32_t ntoh_l_force_align(void *p)
> {
> 	uint32_t x;
> 	memcpy(&x, p, sizeof(x));
> 	return ntohl(x);
> }
> #define ntoh_s(var)
> ntoh_s_force_align(&(var))
> #define ntoh_l(var)
> ntoh_l_force_align(&(var))
> #endif

> > +       ce->ce_ctime.sec  = 0;
> > +       ce->ce_mtime.sec  = ntoh_l(ondisk->mtime.sec);
> -- 
> Duy
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]