{"push_id":1379682605,"size":6,"distinct_size":6,"ref":"refs/heads/master","head":"b8e940d6458738ab680af4f37ba68b22a5845536","before":"fe64ea95b4e04223da037b73419a287313bb43a6","commits":[{"sha":"2119b9846962c2b2d961fa13c26662a2be711e19","author":{"name":"Ivan Grokhotkov","email":"053116c27f7cefb015ca522af26b33796f5e816a@espressif.com"},"message":"spi_flash: remove unnecessary src pointer alignment check in spi_flash_write\n\nROM SPIWrite routine can work with unaligned sources, so this check is unnecessary.\nFurthermore, it breaks nvs_set_str and nvs_get_blob when data pointer is unaligned.\nAlso fix stray backslash in COUNTER_STOP macro","distinct":true,"url":"https://api.github.com/repos/espressif/esp-idf/commits/2119b9846962c2b2d961fa13c26662a2be711e19"},{"sha":"269332f473b6e3b2960f53605dbac840ecedd60d","author":{"name":"Ivan Grokhotkov","email":"053116c27f7cefb015ca522af26b33796f5e816a@espressif.com"},"message":"nvs_flash: use CRC-32 routine compatible with ROM version\n\nHost tests used different flavour of CRC-32, which made it impossible to load NVS partition dumps created on the chip","distinct":true,"url":"https://api.github.com/repos/espressif/esp-idf/commits/269332f473b6e3b2960f53605dbac840ecedd60d"},{"sha":"413f2c00f69ff6ce9777eab366280eb82cb3ac35","author":{"name":"Ivan Grokhotkov","email":"053116c27f7cefb015ca522af26b33796f5e816a@espressif.com"},"message":"nvs_flash: introduce write failures after each word written\n\nPreviously the test bench would check failure recovery by introducing error after each write operation.\nThis makes checks a bit more extensive (and much longer) by failing after every word written. Surprisingly, this change didn't expose any bugs.","distinct":true,"url":"https://api.github.com/repos/espressif/esp-idf/commits/413f2c00f69ff6ce9777eab366280eb82cb3ac35"},{"sha":"d9cdc7de5811a450919518b5ea8d6a8edd0a960f","author":{"name":"Ivan Grokhotkov","email":"053116c27f7cefb015ca522af26b33796f5e816a@espressif.com"},"message":"nvs_flash: don't allow more operation to be done on page in PageState::INVALID\n\nCurrently a restart is required to recover a page from invalid state.\nThe long-term solution is to detect such a condition and recover automatically (without a restart). This will be implemented in a separate change set.","distinct":true,"url":"https://api.github.com/repos/espressif/esp-idf/commits/d9cdc7de5811a450919518b5ea8d6a8edd0a960f"},{"sha":"abea6c50f15f74c43f467a1179166ad031443b0a","author":{"name":"Ivan Grokhotkov","email":"053116c27f7cefb015ca522af26b33796f5e816a@espressif.com"},"message":"nvs_flash: delete all duplicate entries in a page while loading\n\nDue to previous flash write bug it was possible to create multiple duplicate entries in a single page.\nRecovery logic detected that case and bailed out with an assert.\nThis change adds graceful recovery from this condition.\nTests included.","distinct":true,"url":"https://api.github.com/repos/espressif/esp-idf/commits/abea6c50f15f74c43f467a1179166ad031443b0a"},{"sha":"b8e940d6458738ab680af4f37ba68b22a5845536","author":{"name":"Ivan Grokhotkov","email":"053116c27f7cefb015ca522af26b33796f5e816a@espressif.com"},"message":"Merge branch 'bugfix/nvs_write_failure' into 'master'\r\n\r\nFix spi_flash_write regression and nvs error recovery\r\n\r\nIn the previous set of changes related to spi_flash, new alignment checks were added. One of these checks, word alignment of `src` buffer in `nvs_flas_write`, was unnecessary.  ROM `SPIWrite` function can handle unaligned source buffers.\r\n\r\nThis change caused an error to be returned to nvs for some legitimate write operations. Due to a bug in nvs, further write operations were possible, while the internal state of `Page` instance was broken. In WiFi functional tests, this inflicted havoc on the nvs partition, creating multiple duplicate items in the affected page. Because multiple duplicate items per page were never supposed to be handled during page load, duplicates were not removed. Thankfully this caused an assert at a later point in the loading process, otherwise this bug would be very difficult to detect.\r\n\r\nThis change set fixes the original spi_flash regression, handling of `INVALID` state of `nvs::Page`, and handling of duplicate items.\r\n\r\nSee merge request !161","distinct":true,"url":"https://api.github.com/repos/espressif/esp-idf/commits/b8e940d6458738ab680af4f37ba68b22a5845536"}]}
{"actor":{"display_login":"igrr"}}