)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"18cca2980ade15b4c2e5337f6cc8ea90de1e1d8f","unresolved":false,"context_lines":[{"line_number":11,"context_line":"unification down into the consistency engine."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Drive-by:"},{"line_number":14,"context_line":" * use FakeLogger less"},{"line_number":15,"context_line":" * clean up some repeititon in probe utility for device re-\"mounting\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Related-Change-Id: I3362a6ebff423016bb367b4b6b322bb41ae08764"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3f4b6375_6559b658","line":14,"range":{"start_line":14,"start_character":7,"end_line":14,"end_character":17},"updated":"2017-11-01 16:35:35.000000000","message":"This guy tried to creep back in.","commit_id":"feee3998408e5ed03563c317ad9506ead92083a6"}],"swift/container/updater.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e69ccec0ee87ccbcc54531eda1b1c59d8f444e6f","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        for device in self._listdir(self.devices):"},{"line_number":103,"context_line":"            dev_path \u003d check_drive(self.devices, device, self.mount_check)"},{"line_number":104,"context_line":"            if not dev_path:"},{"line_number":105,"context_line":"                self.logger.warning(_(\u0027%s is not mounted\u0027), device)"},{"line_number":106,"context_line":"                continue"},{"line_number":107,"context_line":"            con_path \u003d os.path.join(dev_path, DATADIR)"},{"line_number":108,"context_line":"            if not os.path.exists(con_path):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_f7141d46","line":105,"range":{"start_line":105,"start_character":49,"end_line":105,"end_character":56},"updated":"2017-09-15 06:34:49.000000000","message":"Do we want the \u0027mounted\u0027 / \u0027a dir\u0027 switch like we have in diskfile?","commit_id":"a92eadd8c22f7cad083893d51a7f18090e5803a8"}],"swift/obj/diskfile.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e69ccec0ee87ccbcc54531eda1b1c59d8f444e6f","unresolved":false,"context_lines":[{"line_number":1196,"context_line":"            mount_check \u003d True"},{"line_number":1197,"context_line":"        else:"},{"line_number":1198,"context_line":"            mount_check \u003d False"},{"line_number":1199,"context_line":"        return check_drive(self.devices, device, mount_check)"},{"line_number":1200,"context_line":""},{"line_number":1201,"context_line":"    @contextmanager"},{"line_number":1202,"context_line":"    def replication_lock(self, device):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_172569ab","line":1199,"range":{"start_line":1199,"start_character":49,"end_line":1199,"end_character":60},"updated":"2017-09-15 06:34:49.000000000","message":"Maybe just\n\n mount_check or self.mount_check\n\nhere, and skip the if/else?","commit_id":"a92eadd8c22f7cad083893d51a7f18090e5803a8"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"028df88ee525ec3cdbb369bdb1139cc4953bd28b","unresolved":false,"context_lines":[{"line_number":1193,"context_line":"            # explicitly forbidden from syscall, just return path"},{"line_number":1194,"context_line":"            return join(self.devices, device)"},{"line_number":1195,"context_line":"        # we\u0027ll do some kind of check if not explicitly forbidden"},{"line_number":1196,"context_line":"        if mount_check or self.mount_check:"},{"line_number":1197,"context_line":"            mount_check \u003d True"},{"line_number":1198,"context_line":"        else:"},{"line_number":1199,"context_line":"            mount_check \u003d False"},{"line_number":1200,"context_line":"        return check_drive(self.devices, device, mount_check)"},{"line_number":1201,"context_line":""},{"line_number":1202,"context_line":"    @contextmanager"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_33bb16c5","line":1199,"range":{"start_line":1196,"start_character":8,"end_line":1199,"end_character":31},"updated":"2017-11-01 06:22:13.000000000","message":"NIT: this could just be:\n\n  mount_check \u003d any((mount_check, self.mount_check))\n\nWhich would also keep it a bool","commit_id":"33ebb00b7226686c95d0d9afd2515d23510d521b"}],"swift/obj/replicator.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e69ccec0ee87ccbcc54531eda1b1c59d8f444e6f","unresolved":false,"context_lines":[{"line_number":590,"context_line":"            found_local \u003d True"},{"line_number":591,"context_line":"            dev_path \u003d check_drive(self.devices_dir, local_dev[\u0027device\u0027],"},{"line_number":592,"context_line":"                                   self.mount_check)"},{"line_number":593,"context_line":"            obj_path \u003d join(dev_path, data_dir)"},{"line_number":594,"context_line":"            tmp_path \u003d join(dev_path, get_tmp_dir(policy))"},{"line_number":595,"context_line":"            if not dev_path:"},{"line_number":596,"context_line":"                self._add_failure_stats("},{"line_number":597,"context_line":"                    [(failure_dev[\u0027replication_ip\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_774f0d6b","line":594,"range":{"start_line":593,"start_character":12,"end_line":594,"end_character":58},"updated":"2017-09-15 06:34:49.000000000","message":"These need to go after the if now.\n\n \u003e\u003e\u003e join(None, \u0027asdf\u0027)\n Traceback (most recent call last):\n   File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\n   File \"/usr/lib/python2.7/posixpath.py\", line 77, in join\n     elif path \u003d\u003d \u0027\u0027 or path.endswith(\u0027/\u0027):\n AttributeError: \u0027NoneType\u0027 object has no attribute \u0027endswith\u0027","commit_id":"a92eadd8c22f7cad083893d51a7f18090e5803a8"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"63ca068c0f732f0612344524e1d955ec7ffde4b2","unresolved":false,"context_lines":[{"line_number":586,"context_line":"                              and (override_devices is None"},{"line_number":587,"context_line":"                                   or dev[\u0027device\u0027] in override_devices))]:"},{"line_number":588,"context_line":"            found_local \u003d True"},{"line_number":589,"context_line":"            dev_path \u003d check_drive(self.devices_dir, local_dev[\u0027device\u0027],"},{"line_number":590,"context_line":"                                   self.mount_check)"},{"line_number":591,"context_line":"            if not dev_path:"},{"line_number":592,"context_line":"                self._add_failure_stats("}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_9a3e2bb6","line":589,"range":{"start_line":589,"start_character":12,"end_line":589,"end_character":20},"updated":"2017-11-02 15:58:50.000000000","message":"\"dev_path\" here and in orginal change are different.\nHere it would be None(when mount_check\u003dFalse and directory doesn\u0027t exist), and earlier it used to be something(/srv/node/1 etc). So this would make obj_path and tmp_path different and further directory creation.\nHere use of \"check_drive\" returns None for non existing directory in case of mount_check\u003dFalse.","commit_id":"feee3998408e5ed03563c317ad9506ead92083a6"}]}
