)]}'
{"cinder/volume/drivers/glusterfs.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"82e746e76ea1b734182357595746ba209087f0fa","unresolved":false,"context_lines":[{"line_number":999,"context_line":"            LOG.debug(\"File created, share writable.\")"},{"line_number":1000,"context_line":"        except OSError:"},{"line_number":1001,"context_line":"            LOG.warning(\"Unable to write to volume directory %(dir)s\" %"},{"line_number":1002,"context_line":"                        {\u0027dir\u0027: path})"},{"line_number":1003,"context_line":"            LOG.warning(\"Some operations will not be supported.\")"},{"line_number":1004,"context_line":""},{"line_number":1005,"context_line":"            msg \u003d _(\u0027GlusterFS share at %(dir)s is not writable by the \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2B4uw%3D","line":1002,"updated":"2013-11-18 23:20:43.000000000","message":"Agree with Qin\u0027s feedback.  Also recommend changing the error message:  \nLOG.warning(\"Unable to write to volume directory: %(dir)s\" % {\u0027dir\u0027: path})","commit_id":"c6223f0d1fec5f8b5aa539e2926120f86cefefbc"},{"author":{"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},"change_message_id":"3a0979135737c759a380c1930c7dbe1a980cb931","unresolved":false,"context_lines":[{"line_number":999,"context_line":"            LOG.debug(\"File created, share writable.\")"},{"line_number":1000,"context_line":"        except OSError:"},{"line_number":1001,"context_line":"            LOG.warning(\"Unable to write to volume directory %(dir)s\" %"},{"line_number":1002,"context_line":"                        {\u0027dir\u0027: path})"},{"line_number":1003,"context_line":"            LOG.warning(\"Some operations will not be supported.\")"},{"line_number":1004,"context_line":""},{"line_number":1005,"context_line":"            msg \u003d _(\u0027GlusterFS share at %(dir)s is not writable by the \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2B86Y%3D","line":1002,"updated":"2013-11-18 07:36:04.000000000","message":"The snapshot operation will be broken by this exception. Why we log it as warning instead of error?","commit_id":"c6223f0d1fec5f8b5aa539e2926120f86cefefbc"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"32d0736eace2b9fadc5e0e76810ece068bc550c2","unresolved":false,"context_lines":[{"line_number":999,"context_line":"            LOG.debug(\"File created, share writable.\")"},{"line_number":1000,"context_line":"        except OSError:"},{"line_number":1001,"context_line":"            LOG.warning(\"Unable to write to volume directory %(dir)s\" %"},{"line_number":1002,"context_line":"                        {\u0027dir\u0027: path})"},{"line_number":1003,"context_line":"            LOG.warning(\"Some operations will not be supported.\")"},{"line_number":1004,"context_line":""},{"line_number":1005,"context_line":"            msg \u003d _(\u0027GlusterFS share at %(dir)s is not writable by the \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2Bz2s%3D","line":1002,"in_reply_to":"AAAATn%2F%2B4uw%3D","updated":"2013-11-19 21:12:17.000000000","message":"Re. warning vs. error: The message is redundant anyway -- the user sees the exception message below.  Removing this one.","commit_id":"c6223f0d1fec5f8b5aa539e2926120f86cefefbc"},{"author":{"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},"change_message_id":"3a0979135737c759a380c1930c7dbe1a980cb931","unresolved":false,"context_lines":[{"line_number":1005,"context_line":"            msg \u003d _(\u0027GlusterFS share at %(dir)s is not writable by the \u0027"},{"line_number":1006,"context_line":"                    \u0027Cinder user.\u0027) % {\u0027dir\u0027: path}"},{"line_number":1007,"context_line":"            raise exception.GlusterfsException(msg)"},{"line_number":1008,"context_line":"        finally:"},{"line_number":1009,"context_line":"            try:"},{"line_number":1010,"context_line":"                os.close(fd)"},{"line_number":1011,"context_line":"            except TypeError:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2B85c%3D","line":1008,"updated":"2013-11-18 07:36:04.000000000","message":"Why do we need to place the \u0027close()\u0027 and \u0027unlink()\u0027 operation in \u0027finally\u0027 block, instead of \u0027try\u0027 block\u0027? The current code includes additional \u0027try-catch\u0027, but I do not feel it includes additional benefits...","commit_id":"c6223f0d1fec5f8b5aa539e2926120f86cefefbc"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"32d0736eace2b9fadc5e0e76810ece068bc550c2","unresolved":false,"context_lines":[{"line_number":1005,"context_line":"            msg \u003d _(\u0027GlusterFS share at %(dir)s is not writable by the \u0027"},{"line_number":1006,"context_line":"                    \u0027Cinder user.\u0027) % {\u0027dir\u0027: path}"},{"line_number":1007,"context_line":"            raise exception.GlusterfsException(msg)"},{"line_number":1008,"context_line":"        finally:"},{"line_number":1009,"context_line":"            try:"},{"line_number":1010,"context_line":"                os.close(fd)"},{"line_number":1011,"context_line":"            except TypeError:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2Bz2k%3D","line":1008,"in_reply_to":"AAAATn%2F%2B85c%3D","updated":"2013-11-19 21:12:17.000000000","message":"I\u0027m replacing use of mkstemp with TemporaryFile which makes these errors simpler to handle.","commit_id":"c6223f0d1fec5f8b5aa539e2926120f86cefefbc"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d1824672b16a7cbb51fb6c6a3fa8df26860d7382","unresolved":false,"context_lines":[{"line_number":998,"context_line":"            tempfile.NamedTemporaryFile(prefix\u003dprefix, dir\u003dpath)"},{"line_number":999,"context_line":"        except OSError:"},{"line_number":1000,"context_line":"            msg \u003d _(\u0027GlusterFS share at %(dir)s is not writable by the \u0027"},{"line_number":1001,"context_line":"                    \u0027Cinder user. Some operations will not be supported.\u0027) % {"},{"line_number":1002,"context_line":"                        \u0027dir\u0027: path}"},{"line_number":1003,"context_line":"            raise exception.GlusterfsException(msg)"},{"line_number":1004,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bzto%3D","line":1001,"updated":"2013-11-19 21:47:06.000000000","message":"As per our IRC discussion, I think this should be \u0027Snapshot operations\u0027 instead of \u0027Some operations\u0027 for clarity.","commit_id":"b481b35ee400647ff1ab37906229922fb15b654a"}]}
