{"thread":{"id":"40119","subject":"Avoid padding in structs index_state, packed_git","startedAt":"2015-08-18T10:55:43Z","lastAt":"2015-08-18T10:55:43Z","messageCount":1,"participants":["Dilyan Palauzov"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"268252","messageId":"55D30F2F.4070907@aegee.org","threadId":"40119","inReplyTo":null,"subject":"Avoid padding in structs index_state, packed_git","fromName":"Dilyan Palauzov","fromEmail":"dilyan.palauzov@aegee.org","sentAt":"2015-08-18T10:55:43Z","receivedAt":"2015-08-18T10:55:43Z","isPatch":false,"sender":{"key":"dilyan.palauzov@aegee.org","avatar":null},"body":"On 64 bit linux, sizeof (struct index_state) = 160 and sizeof (struct \npacked_git) = 104.  This change shrinks the structs with 8bytes (as it \navoids padding)\n\nSigned-off-by: Дилян Палаузов <git-dpa@aegee.org>\n---\ndiff --git a/cache.h b/cache.h\nindex 6bb7119..e00908b 100644\n--- a/cache.h\n+++ b/cache.h\n@@ -310,11 +310,11 @@ struct index_state {\n         struct cache_tree *cache_tree;\n         struct split_index *split_index;\n         struct cache_time timestamp;\n-       unsigned name_hash_initialized : 1,\n-                initialized : 1;\n         struct hashmap name_hash;\n         struct hashmap dir_hash;\n         unsigned char sha1[20];\n+       unsigned name_hash_initialized : 1,\n+                initialized : 1;\n         struct untracked_cache *untracked;\n  };\n\n@@ -1192,8 +1192,8 @@ extern struct packed_git {\n         uint32_t num_objects;\n         uint32_t num_bad_objects;\n         unsigned char *bad_object_sha1;\n-       int index_version;\n         time_t mtime;\n+       int index_version;\n         int pack_fd;\n         unsigned pack_local:1,\n                  pack_keep:1,\n"}]}