)]}'
{"metropolis/pkg/devicemapper/ctype.go":[{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0b6d379db7097ee735eb7ce379e3e8e7fe8fce50","unresolved":true,"context_lines":[{"line_number":3,"context_line":"// Linux kernel ctype data from @linux//include/linux:ctype.h"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"const ("},{"line_number":6,"context_line":"\t_U  \u003d 0x01 /* upper */"},{"line_number":7,"context_line":"\t_L  \u003d 0x02 /* lower */"},{"line_number":8,"context_line":"\t_D  \u003d 0x04 /* digit */"},{"line_number":9,"context_line":"\t_C  \u003d 0x08 /* cntrl */"}],"source_content_type":"text/x-go","patch_set":3,"id":"4963c7da_3bce24d2","line":6,"range":{"start_line":6,"start_character":1,"end_line":6,"end_character":2},"updated":"2021-08-24 11:38:25.000000000","message":"Why the underscore prefix?","commit_id":"c6c48f7fecf3e7c30651a9449d335d381ea005f8"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f064de0ebd49fcd3bb6e144e4d6d8e1f01eb2651","unresolved":true,"context_lines":[{"line_number":3,"context_line":"// Linux kernel ctype data from @linux//include/linux:ctype.h"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"const ("},{"line_number":6,"context_line":"\t_U  \u003d 0x01 /* upper */"},{"line_number":7,"context_line":"\t_L  \u003d 0x02 /* lower */"},{"line_number":8,"context_line":"\t_D  \u003d 0x04 /* digit */"},{"line_number":9,"context_line":"\t_C  \u003d 0x08 /* cntrl */"}],"source_content_type":"text/x-go","patch_set":3,"id":"9e502a25_270511a5","line":6,"range":{"start_line":6,"start_character":1,"end_line":6,"end_character":2},"in_reply_to":"4963c7da_3bce24d2","updated":"2021-08-24 11:47:04.000000000","message":"This is taken as-is from the kernel.","commit_id":"c6c48f7fecf3e7c30651a9449d335d381ea005f8"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"a4b88e265d601629f8ae637fe904b8144869e341","unresolved":false,"context_lines":[{"line_number":3,"context_line":"// Linux kernel ctype data from @linux//include/linux:ctype.h"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"const ("},{"line_number":6,"context_line":"\t_U  \u003d 0x01 /* upper */"},{"line_number":7,"context_line":"\t_L  \u003d 0x02 /* lower */"},{"line_number":8,"context_line":"\t_D  \u003d 0x04 /* digit */"},{"line_number":9,"context_line":"\t_C  \u003d 0x08 /* cntrl */"}],"source_content_type":"text/x-go","patch_set":3,"id":"9a5c9242_f0866cd5","line":6,"range":{"start_line":6,"start_character":1,"end_line":6,"end_character":2},"in_reply_to":"9e502a25_270511a5","updated":"2021-08-24 12:13:38.000000000","message":"Okay, it seems that it\u0027s acceptable Go style [1] to do that in case of imported C defs. Let\u0027s keep it.\n\n[1] - https://cs.opensource.google/go/go/+/refs/tags/go1.17:src/syscall/ztypes_linux_amd64.go;l\u003d595;drc\u003drefs%2Ftags%2Fgo1.17","commit_id":"c6c48f7fecf3e7c30651a9449d335d381ea005f8"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0b6d379db7097ee735eb7ce379e3e8e7fe8fce50","unresolved":true,"context_lines":[{"line_number":13,"context_line":"\t_SP \u003d 0x80 /* hard space (0x20) */"},{"line_number":14,"context_line":")"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"var ctypeLookup \u003d [256]byte{"},{"line_number":17,"context_line":"\t_C, _C, _C, _C, _C, _C, _C, _C, /* 0-7 */"},{"line_number":18,"context_line":"\t_C, _C | _S, _C | _S, _C | _S, _C | _S, _C | _S, _C, _C, /* 8-15 */"},{"line_number":19,"context_line":"\t_C, _C, _C, _C, _C, _C, _C, _C, /* 16-23 */"}],"source_content_type":"text/x-go","patch_set":3,"id":"1ced62b4_93e052d6","line":16,"updated":"2021-08-24 11:38:25.000000000","message":"nit: can\u0027t this be a const?","commit_id":"c6c48f7fecf3e7c30651a9449d335d381ea005f8"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"a4b88e265d601629f8ae637fe904b8144869e341","unresolved":false,"context_lines":[{"line_number":13,"context_line":"\t_SP \u003d 0x80 /* hard space (0x20) */"},{"line_number":14,"context_line":")"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"var ctypeLookup \u003d [256]byte{"},{"line_number":17,"context_line":"\t_C, _C, _C, _C, _C, _C, _C, _C, /* 0-7 */"},{"line_number":18,"context_line":"\t_C, _C | _S, _C | _S, _C | _S, _C | _S, _C | _S, _C, _C, /* 8-15 */"},{"line_number":19,"context_line":"\t_C, _C, _C, _C, _C, _C, _C, _C, /* 16-23 */"}],"source_content_type":"text/x-go","patch_set":3,"id":"f0b0e991_e5c7ab99","line":16,"in_reply_to":"1b014899_5ae8fbbc","updated":"2021-08-24 12:13:38.000000000","message":"Ack","commit_id":"c6c48f7fecf3e7c30651a9449d335d381ea005f8"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f064de0ebd49fcd3bb6e144e4d6d8e1f01eb2651","unresolved":true,"context_lines":[{"line_number":13,"context_line":"\t_SP \u003d 0x80 /* hard space (0x20) */"},{"line_number":14,"context_line":")"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"var ctypeLookup \u003d [256]byte{"},{"line_number":17,"context_line":"\t_C, _C, _C, _C, _C, _C, _C, _C, /* 0-7 */"},{"line_number":18,"context_line":"\t_C, _C | _S, _C | _S, _C | _S, _C | _S, _C | _S, _C, _C, /* 8-15 */"},{"line_number":19,"context_line":"\t_C, _C, _C, _C, _C, _C, _C, _C, /* 16-23 */"}],"source_content_type":"text/x-go","patch_set":3,"id":"1b014899_5ae8fbbc","line":16,"in_reply_to":"1ced62b4_93e052d6","updated":"2021-08-24 11:47:04.000000000","message":"Nope, Go doesn\u0027t allow that.","commit_id":"c6c48f7fecf3e7c30651a9449d335d381ea005f8"}],"metropolis/pkg/devicemapper/devicemapper.go":[{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0b6d379db7097ee735eb7ce379e3e8e7fe8fce50","unresolved":true,"context_lines":[{"line_number":145,"context_line":"\tvar strb strings.Builder"},{"line_number":146,"context_line":"\tfor _, param :\u003d range params {"},{"line_number":147,"context_line":"\t\tvar hasNonWhitespace bool"},{"line_number":148,"context_line":"\t\tfor i :\u003d 0; i \u003c len(param); i++ {"},{"line_number":149,"context_line":"\t\t\tb :\u003d param[i]"},{"line_number":150,"context_line":"\t\t\tif b \u003d\u003d 0x00 {"},{"line_number":151,"context_line":"\t\t\t\treturn \"\", errors.New(\"parameter with null bytes cannot be encoded\")"}],"source_content_type":"text/x-go","patch_set":3,"id":"93e5f311_4dd4bbd2","line":148,"range":{"start_line":148,"start_character":2,"end_line":148,"end_character":35},"updated":"2021-08-24 11:38:25.000000000","message":"Maybe `for b :\u003d range param` ?","commit_id":"c6c48f7fecf3e7c30651a9449d335d381ea005f8"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f064de0ebd49fcd3bb6e144e4d6d8e1f01eb2651","unresolved":true,"context_lines":[{"line_number":145,"context_line":"\tvar strb strings.Builder"},{"line_number":146,"context_line":"\tfor _, param :\u003d range params {"},{"line_number":147,"context_line":"\t\tvar hasNonWhitespace bool"},{"line_number":148,"context_line":"\t\tfor i :\u003d 0; i \u003c len(param); i++ {"},{"line_number":149,"context_line":"\t\t\tb :\u003d param[i]"},{"line_number":150,"context_line":"\t\t\tif b \u003d\u003d 0x00 {"},{"line_number":151,"context_line":"\t\t\t\treturn \"\", errors.New(\"parameter with null bytes cannot be encoded\")"}],"source_content_type":"text/x-go","patch_set":3,"id":"e883da89_2b0804c1","line":148,"range":{"start_line":148,"start_character":2,"end_line":148,"end_character":35},"in_reply_to":"93e5f311_4dd4bbd2","updated":"2021-08-24 11:47:04.000000000","message":"Go\u0027s range operator on strings works on runes, but the encoding needed here works on bytes.","commit_id":"c6c48f7fecf3e7c30651a9449d335d381ea005f8"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"a4b88e265d601629f8ae637fe904b8144869e341","unresolved":false,"context_lines":[{"line_number":145,"context_line":"\tvar strb strings.Builder"},{"line_number":146,"context_line":"\tfor _, param :\u003d range params {"},{"line_number":147,"context_line":"\t\tvar hasNonWhitespace bool"},{"line_number":148,"context_line":"\t\tfor i :\u003d 0; i \u003c len(param); i++ {"},{"line_number":149,"context_line":"\t\t\tb :\u003d param[i]"},{"line_number":150,"context_line":"\t\t\tif b \u003d\u003d 0x00 {"},{"line_number":151,"context_line":"\t\t\t\treturn \"\", errors.New(\"parameter with null bytes cannot be encoded\")"}],"source_content_type":"text/x-go","patch_set":3,"id":"dd5a60e6_bf682306","line":148,"range":{"start_line":148,"start_character":2,"end_line":148,"end_character":35},"in_reply_to":"e883da89_2b0804c1","updated":"2021-08-24 12:13:38.000000000","message":"Ack","commit_id":"c6c48f7fecf3e7c30651a9449d335d381ea005f8"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0b6d379db7097ee735eb7ce379e3e8e7fe8fce50","unresolved":true,"context_lines":[{"line_number":247,"context_line":"\t// @linux//drivers/md/... by looking for dm_register_target() calls."},{"line_number":248,"context_line":"\tType string"},{"line_number":249,"context_line":"\t// Parameters are additional parameters specific to the target type."},{"line_number":250,"context_line":"\t// Note that null bytes and parameters consisting solely of whitespace"},{"line_number":251,"context_line":"\t// characters cannot be encoded and will return an error."},{"line_number":252,"context_line":"\tParameters []string"},{"line_number":253,"context_line":"}"}],"source_content_type":"text/x-go","patch_set":3,"id":"b2ee556d_d83238e7","line":250,"range":{"start_line":250,"start_character":51,"end_line":250,"end_character":57},"updated":"2021-08-24 11:38:25.000000000","message":"style: only","commit_id":"c6c48f7fecf3e7c30651a9449d335d381ea005f8"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f064de0ebd49fcd3bb6e144e4d6d8e1f01eb2651","unresolved":false,"context_lines":[{"line_number":247,"context_line":"\t// @linux//drivers/md/... by looking for dm_register_target() calls."},{"line_number":248,"context_line":"\tType string"},{"line_number":249,"context_line":"\t// Parameters are additional parameters specific to the target type."},{"line_number":250,"context_line":"\t// Note that null bytes and parameters consisting solely of whitespace"},{"line_number":251,"context_line":"\t// characters cannot be encoded and will return an error."},{"line_number":252,"context_line":"\tParameters []string"},{"line_number":253,"context_line":"}"}],"source_content_type":"text/x-go","patch_set":3,"id":"77ae68a3_a7a520cc","line":250,"range":{"start_line":250,"start_character":51,"end_line":250,"end_character":57},"in_reply_to":"b2ee556d_d83238e7","updated":"2021-08-24 11:47:04.000000000","message":"Done","commit_id":"c6c48f7fecf3e7c30651a9449d335d381ea005f8"}]}
