)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"dbd8ff4df7c386385faf17c2598db32c36ef880e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move xenapi partition copies to privsep."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I am unsure if I should be concerned about the lack of error"},{"line_number":10,"context_line":"checking here, but this is how it was originally."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I9c1dfd5a90a53d90a44baae4874965bf8f48cea1"},{"line_number":13,"context_line":"blueprint: hurrah-for-privsep"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"bf659307_b37c5d72","line":10,"range":{"start_line":9,"start_character":47,"end_line":10,"end_character":13},"updated":"2018-04-03 12:15:27.000000000","message":"Not sure what you mean by lack of error checking, you mean no unit tests?\n\nWe should add some unit tests surely? I suspect it was before unit tests were required to merge code, in the dark ages, before any sort of gate, etc.","commit_id":"9d85cb95d8b5010c12a6f6f640a70c981b0d4f93"}],"nova/privsep/fs.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"75b702956c1320f6815623824c404f13bada334d","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"@nova.privsep.sys_admin_pctxt.entrypoint"},{"line_number":141,"context_line":"def e2fsck(image, check_exit_code\u003dNone):"},{"line_number":142,"context_line":"    unprivileged_e2fsck(image, check_exit_code)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"df7087c5_875e5274","line":141,"updated":"2018-03-20 14:40:23.000000000","message":"this looks","commit_id":"3139350707c0f93c576b7f3d3f11f5bde047630c"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"75b702956c1320f6815623824c404f13bada334d","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"# NOTE(mikal): this method is deliberately not wrapped in a privsep entrypoint"},{"line_number":146,"context_line":"def unprivileged_e2fsck(image, check_exit_code\u003dNone):"},{"line_number":147,"context_line":"    processutils.execute(\u0027e2fsck\u0027, \u0027-fp\u0027, image,"},{"line_number":148,"context_line":"                         check_exit_code\u003d[0, 1, 2])"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"df7087c5_27550651","line":146,"updated":"2018-03-20 14:40:23.000000000","message":"like a","commit_id":"3139350707c0f93c576b7f3d3f11f5bde047630c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9894d6c8aa264a190e0076ac69a32e44dcbd10fe","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"@nova.privsep.sys_admin_pctxt.entrypoint"},{"line_number":141,"context_line":"def e2fsck(image, check_exit_code\u003dNone):"},{"line_number":142,"context_line":"    unprivileged_e2fsck(image, check_exit_code)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"# NOTE(mikal): this method is deliberately not wrapped in a privsep entrypoint"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_ef16b355","line":142,"range":{"start_line":141,"start_character":0,"end_line":142,"end_character":47},"updated":"2018-03-29 14:50:26.000000000","message":"This looks like two different patches? Did you squash them by mistake?","commit_id":"9d85cb95d8b5010c12a6f6f640a70c981b0d4f93"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"17403eb45df16e29757c16995c0cb5ffb87a6316","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"@nova.privsep.sys_admin_pctxt.entrypoint"},{"line_number":141,"context_line":"def e2fsck(image, check_exit_code\u003dNone):"},{"line_number":142,"context_line":"    unprivileged_e2fsck(image, check_exit_code)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"# NOTE(mikal): this method is deliberately not wrapped in a privsep entrypoint"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_93711979","line":142,"range":{"start_line":141,"start_character":0,"end_line":142,"end_character":47},"in_reply_to":"bf659307_133d098e","updated":"2018-04-03 12:20:00.000000000","message":"Now I see your comment mikal, OK... I just don\u0027t like us missing the commit message describing what is happening in here. Maybe just add back in the commit message? (ducks)","commit_id":"9d85cb95d8b5010c12a6f6f640a70c981b0d4f93"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"dbd8ff4df7c386385faf17c2598db32c36ef880e","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"@nova.privsep.sys_admin_pctxt.entrypoint"},{"line_number":141,"context_line":"def e2fsck(image, check_exit_code\u003dNone):"},{"line_number":142,"context_line":"    unprivileged_e2fsck(image, check_exit_code)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"# NOTE(mikal): this method is deliberately not wrapped in a privsep entrypoint"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_f39df5bb","line":142,"range":{"start_line":141,"start_character":0,"end_line":142,"end_character":47},"in_reply_to":"bf659307_ef16b355","updated":"2018-04-03 12:15:27.000000000","message":"+1 feels like we have the XenAPI fix up stuff that is squashed in here, can we separate that out, I don\u0027t think I understand what you are doing with it yet.","commit_id":"9d85cb95d8b5010c12a6f6f640a70c981b0d4f93"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8d630dead269d36db9dc2d0b120fb8b0dafc58ca","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"@nova.privsep.sys_admin_pctxt.entrypoint"},{"line_number":141,"context_line":"def e2fsck(image, check_exit_code\u003dNone):"},{"line_number":142,"context_line":"    unprivileged_e2fsck(image, check_exit_code)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"# NOTE(mikal): this method is deliberately not wrapped in a privsep entrypoint"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_133d098e","line":142,"range":{"start_line":141,"start_character":0,"end_line":142,"end_character":47},"in_reply_to":"bf659307_f39df5bb","updated":"2018-04-03 12:18:47.000000000","message":"OK, I see the man page seems to say -p and -y are the self same thing. That should be fine here. Not sure if the XenServer CI will hit this code path though, depends on the image type I think.","commit_id":"9d85cb95d8b5010c12a6f6f640a70c981b0d4f93"}],"nova/privsep/xenapi.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"dbd8ff4df7c386385faf17c2598db32c36ef880e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    return processutils.execute(\u0027xenstore-read\u0027, path)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"@nova.privsep.sys_admin_pctxt.entrypoint"},{"line_number":30,"context_line":"def block_copy(src_path, dst_path, block_size, num_blocks):"},{"line_number":31,"context_line":"    processutils.execute(\u0027dd\u0027,"},{"line_number":32,"context_line":"                         \u0027if\u003d%s\u0027 % src_path,"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_b3a3fdff","line":29,"updated":"2018-04-03 12:15:27.000000000","message":"This bit all seems good.","commit_id":"9d85cb95d8b5010c12a6f6f640a70c981b0d4f93"}],"nova/virt/xenapi/vm_utils.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"75b702956c1320f6815623824c404f13bada334d","unresolved":false,"context_lines":[{"line_number":2291,"context_line":"    partition_path \u003d utils.make_dev_path(dev, partition\u003d1)"},{"line_number":2292,"context_line":""},{"line_number":2293,"context_line":"    # Replay journal if FS wasn\u0027t cleanly unmounted"},{"line_number":2294,"context_line":"    nova.privsep.fs.e2fsck(partition_path, check_exit_code\u003d[0, 1, 2])"},{"line_number":2295,"context_line":""},{"line_number":2296,"context_line":"    # Remove ext3 journal (making it ext2)"},{"line_number":2297,"context_line":"    nova.privsep.fs.ext_journal_disable(partition_path)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df7087c5_47503a5f","line":2294,"updated":"2018-03-20 14:40:23.000000000","message":"bad rebase","commit_id":"3139350707c0f93c576b7f3d3f11f5bde047630c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"dbd8ff4df7c386385faf17c2598db32c36ef880e","unresolved":false,"context_lines":[{"line_number":2291,"context_line":"    partition_path \u003d utils.make_dev_path(dev, partition\u003d1)"},{"line_number":2292,"context_line":""},{"line_number":2293,"context_line":"    # Replay journal if FS wasn\u0027t cleanly unmounted"},{"line_number":2294,"context_line":"    nova.privsep.fs.e2fsck(partition_path, flags\u003d\u0027-fy\u0027,"},{"line_number":2295,"context_line":"                           check_exit_code\u003d[0, 1, 2])"},{"line_number":2296,"context_line":""},{"line_number":2297,"context_line":"    # Remove ext3 journal (making it ext2)"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_73b1e546","side":"PARENT","line":2294,"range":{"start_line":2294,"start_character":51,"end_line":2294,"end_character":53},"updated":"2018-04-03 12:15:27.000000000","message":"Sorry, I don\u0027t get why we can drop -fy and just go to -fp?","commit_id":"422d92db9cc54abc1b75809431e36b6c9b3bb447"}]}
