)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"b3a80fa6b241bd7443f8ecb8a90a6c6e2de39346","unresolved":false,"context_lines":[{"line_number":9,"context_line":"We need to protect the mount procedure"},{"line_number":10,"context_line":"against possible races between requests"},{"line_number":11,"context_line":"for volumes located on single Vzstorage share."},{"line_number":12,"context_line":"Disconnect is a no-op in os-brick\u0027s remotefs connector,"},{"line_number":13,"context_line":"hence doesn\u0027t need this."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I26c61a85b5daa264cbb04b4497d9b6ac16e3f3a1"},{"line_number":16,"context_line":"Closes-Bug: #1718474"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff82abbf_8b02c708","line":13,"range":{"start_line":12,"start_character":0,"end_line":13,"end_character":24},"updated":"2017-11-22 13:40:33.000000000","message":"Eesh! I just looked at the code, and indeed this mounts but never unmounts anything. Over time, this means that everything will be mounted everywhere. This can\u0027t possibly be a good idea.","commit_id":"ea20e87ad1fd5dc6df41d0d03506c851485cf2e1"}],"nova/virt/libvirt/volume/vzstorage.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1e35a66908e1f7aa4e22272532c039d551f3b527","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def disconnect_volume(self, connection_info, disk_dev, instance):"},{"line_number":123,"context_line":"        \"\"\"Detach the volume from instance_name.\"\"\""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        LOG.debug(\"calling os-brick to detach Vzstorage Volume\")"},{"line_number":126,"context_line":"        self.connector.disconnect_volume(connection_info[\u0027data\u0027], None)"},{"line_number":127,"context_line":"        LOG.debug(\"Disconnected Vzstorage Volume %s\", disk_dev)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_10e2a630","side":"PARENT","line":124,"updated":"2017-11-30 19:19:20.000000000","message":"unrelated change","commit_id":"3157aa65ffa1a12dd6c1bff57d6162b5c9ed7455"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1e35a66908e1f7aa4e22272532c039d551f3b527","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        vz_share \u003d connection_info[\u0027data\u0027][\u0027export\u0027]"},{"line_number":115,"context_line":"        share_lock \u003d self.SHARE_LOCK_NAME % vz_share"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        @utils.synchronized(share_lock)"},{"line_number":118,"context_line":"        def _connect_volume(connection_info, disk_info, instance):"},{"line_number":119,"context_line":"            LOG.debug(\"Calling os-brick to mount vzstorage\")"},{"line_number":120,"context_line":"            connection_info[\u0027data\u0027][\u0027options\u0027] \u003d self._get_mount_opts(vz_share)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_f06b8282","line":117,"updated":"2017-11-30 19:19:20.000000000","message":"The os-brick connectors have a lock on them:\n\nhttps://github.com/openstack/os-brick/blob/master/os_brick/initiator/connectors/iscsi.py#L475\n\nWas that not sufficient here? Looks like the remotefs connector in os-brick doesn\u0027t have that:\n\nhttps://github.com/openstack/os-brick/blob/master/os_brick/initiator/connectors/remotefs.py#L89\n\nIs that the root problem?","commit_id":"ea20e87ad1fd5dc6df41d0d03506c851485cf2e1"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"42661a1c427878183b8db16f9c337b0ce546b230","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        vz_share \u003d connection_info[\u0027data\u0027][\u0027export\u0027]"},{"line_number":115,"context_line":"        share_lock \u003d self.SHARE_LOCK_NAME % vz_share"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        @utils.synchronized(share_lock)"},{"line_number":118,"context_line":"        def _connect_volume(connection_info, disk_info, instance):"},{"line_number":119,"context_line":"            LOG.debug(\"Calling os-brick to mount vzstorage\")"},{"line_number":120,"context_line":"            connection_info[\u0027data\u0027][\u0027options\u0027] \u003d self._get_mount_opts(vz_share)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_33ced483","line":117,"in_reply_to":"ff82abbf_f06b8282","updated":"2017-11-30 19:59:58.000000000","message":"I have never see any problem with mounting conflict on remotefs drivers. It might be due to the fact that the mount utility (mount -t ...) is not affected and returns as success for the second caller if 2 are called at the same time. So this only affect this driver.\nGiven that, I think that here is the best place to place that lock. Though it would be unharmful if placed there.","commit_id":"ea20e87ad1fd5dc6df41d0d03506c851485cf2e1"}]}
