)]}'
{"src/backends/jerasure/jerasure_rs_vand.c":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"bda52e767eef9a41999b1f3ac1d7cc366e79d149","unresolved":false,"context_lines":[{"line_number":343,"context_line":"     * for 32. Fortunately we can safely uninit any value; if it"},{"line_number":344,"context_line":"     * wasn\u0027t inited it will be ignored."},{"line_number":345,"context_line":"     */"},{"line_number":346,"context_line":"    jerasure_desc-\u003egalois_uninit_field(jerasure_desc-\u003ew);"},{"line_number":347,"context_line":"    jerasure_desc-\u003egalois_uninit_field(32);"},{"line_number":348,"context_line":"    free(jerasure_desc-\u003ematrix);"},{"line_number":349,"context_line":"    free(jerasure_desc);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"da36d5c6_c2d87ff2","line":346,"updated":"2017-02-20 17:15:09.000000000","message":"Exactly, it looks we should uninit the allocated memory at the galois_init [1][2] but I\u0027m not entirely sure on uninit_field(32), probably I didn\u0027t understand the inline comment completely yet.\n\nThe word size should be 8, 16 or 32 in the validation at the rs_vand but the rs_cauchy should be (k + m) \u003d\u003d 1 \u003c\u003c word size so I\u0027m still wondering how the *32* works for both case well.\n\n\n1: https://github.com/tsuraan/Jerasure/blob/master/src/galois.c#L56\n2: https://github.com/tsuraan/Jerasure/blob/master/src/galois.c#L176","commit_id":"a3fb5d2b001ad61d42fa2aed6994ab664dac294a"},{"author":{"_account_id":25109,"name":"Daniel Axtens","email":"dja@axtens.net","username":"dja"},"change_message_id":"01ee70b389bc9a5c576cab762d13985b224aa7f9","unresolved":false,"context_lines":[{"line_number":343,"context_line":"     * for 32. Fortunately we can safely uninit any value; if it"},{"line_number":344,"context_line":"     * wasn\u0027t inited it will be ignored."},{"line_number":345,"context_line":"     */"},{"line_number":346,"context_line":"    jerasure_desc-\u003egalois_uninit_field(jerasure_desc-\u003ew);"},{"line_number":347,"context_line":"    jerasure_desc-\u003egalois_uninit_field(32);"},{"line_number":348,"context_line":"    free(jerasure_desc-\u003ematrix);"},{"line_number":349,"context_line":"    free(jerasure_desc);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"da36d5c6_cdbb4771","line":346,"in_reply_to":"da36d5c6_c2d87ff2","updated":"2017-02-20 23:11:32.000000000","message":"We need to free the 32 because of [a], which calls [b], which allocs the 32 field. [a] is called during encode operations.\n\na: https://github.com/tsuraan/Jerasure/blob/master/src/galois.c#L359\n\nb: https://github.com/tsuraan/Jerasure/blob/master/src/galois.c#L351","commit_id":"a3fb5d2b001ad61d42fa2aed6994ab664dac294a"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"d820f57a0ff3ace1312a973f5147f7d98122f674","unresolved":false,"context_lines":[{"line_number":343,"context_line":"     * for 32. Fortunately we can safely uninit any value; if it"},{"line_number":344,"context_line":"     * wasn\u0027t inited it will be ignored."},{"line_number":345,"context_line":"     */"},{"line_number":346,"context_line":"    jerasure_desc-\u003egalois_uninit_field(jerasure_desc-\u003ew);"},{"line_number":347,"context_line":"    jerasure_desc-\u003egalois_uninit_field(32);"},{"line_number":348,"context_line":"    free(jerasure_desc-\u003ematrix);"},{"line_number":349,"context_line":"    free(jerasure_desc);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"da36d5c6_01b507ed","line":346,"in_reply_to":"da36d5c6_cdbb4771","updated":"2017-02-21 20:53:28.000000000","message":"Make sense!\n\njerasure_matrix_encode or jerasure_matrix_decode will call jerasure_matrix_dotprod which will call the galois_w32_region_xor via galois_region_xor.\n\nAnd for jerasure_rs_cauchy, the trace route will be a bit different. jerasure_bitmatrix_encode/decode -\u003e jerasure_bitmatrix_dotprod. However, they also need to kick the galois_w32_region_xor so that\u0027s why we can do same solution for the both backends.","commit_id":"a3fb5d2b001ad61d42fa2aed6994ab664dac294a"}]}
