)]}'
{"os_brick/initiator/connectors/fibre_channel.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"6327c239d14321422dacf424c1e6a900fb12ca31","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        for path in volume_paths:"},{"line_number":266,"context_line":"            real_path \u003d self._linuxscsi.get_name_from_path(path)"},{"line_number":267,"context_line":"            if self.use_multipath and not mpath_dev:"},{"line_number":268,"context_line":"                mpath_dev \u003d self._linuxscsi.find_multipath_device(real_path)"},{"line_number":269,"context_line":"                if mpath_dev:"},{"line_number":270,"context_line":"                    self._linuxscsi.flush_multipath_device(mpath_dev[\u0027name\u0027])"},{"line_number":271,"context_line":"            device_info \u003d self._linuxscsi.get_device_info(real_path)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa31d9ce_bbd5bce5","line":268,"updated":"2017-02-15 19:37:35.000000000","message":"So, the problem with this is that this call should be a last resort for determining the mpath device information.   On systems that have lots of multipath volumes connected, this becomes extremely slow.  This is one of the main reasons I created the new mechanism for finding the mpath device with the call find_multipath_device_path()  \n\nWhen friendly names are on, we should be getting paths like\n\n/dev/disk/by-id/dm-uuid-mpath-\u003cWWN\u003e  This is created by the dev mapper and mpath daemon.   If flushing that path doesn\u0027t work, then that seems like a bug in the device.  \n\nhttps://github.com/openstack/os-brick/blob/master/os_brick/initiator/linuxscsi.py#L222-L227\n\nAccording to the multipath man page, multipath -f flushes (removes) an mpath device map if it\u0027s unused.   Instead of calling find_multipath_device and calling flush on the name, we should try doing an io flush on the mpath device prior to calling flush_multipath_device(wwn) and see if that fixes this.","commit_id":"b47c5d535ae37eb15983bddb7b33da3e95b23ceb"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"5619e7603ce3bcf4d1ea6a461ce28bd56673396b","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        for path in volume_paths:"},{"line_number":266,"context_line":"            real_path \u003d self._linuxscsi.get_name_from_path(path)"},{"line_number":267,"context_line":"            if self.use_multipath and not mpath_dev:"},{"line_number":268,"context_line":"                mpath_dev \u003d self._linuxscsi.find_multipath_device(real_path)"},{"line_number":269,"context_line":"                if mpath_dev:"},{"line_number":270,"context_line":"                    self._linuxscsi.flush_multipath_device(mpath_dev[\u0027name\u0027])"},{"line_number":271,"context_line":"            device_info \u003d self._linuxscsi.get_device_info(real_path)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa31d9ce_d46141aa","line":268,"in_reply_to":"fa31d9ce_bbd5bce5","updated":"2017-02-16 12:25:37.000000000","message":"Walter, thank you for the detailed explanation.\n\nI agree, if it\u0027s cheaper to get the device path, then we should use that instead, because like you said, multipath -f works with both (I had already verified that).\n\nI\u0027ll modify the code to use that instead.","commit_id":"b47c5d535ae37eb15983bddb7b33da3e95b23ceb"}]}
