1. 09 5月, 2017 1 次提交
  2. 03 5月, 2017 2 次提交
  3. 02 5月, 2017 1 次提交
  4. 01 5月, 2017 2 次提交
  5. 25 4月, 2017 20 次提交
  6. 21 4月, 2017 3 次提交
  7. 20 4月, 2017 4 次提交
  8. 17 4月, 2017 1 次提交
  9. 11 4月, 2017 1 次提交
  10. 31 3月, 2017 1 次提交
  11. 30 3月, 2017 1 次提交
    • S
      ubi/upd: Always flush after prepared for an update · 9cd9a21c
      Sebastian Siewior 提交于
      In commit 6afaf8a4 ("UBI: flush wl before clearing update marker") I
      managed to trigger and fix a similar bug. Now here is another version of
      which I assumed it wouldn't matter back then but it turns out UBI has a
      check for it and will error out like this:
      
      |ubi0 warning: validate_vid_hdr: inconsistent used_ebs
      |ubi0 error: validate_vid_hdr: inconsistent VID header at PEB 592
      
      All you need to trigger this is? "ubiupdatevol /dev/ubi0_0 file" + a
      powercut in the middle of the operation.
      ubi_start_update() sets the update-marker and puts all EBs on the erase
      list. After that userland can proceed to write new data while the old EB
      aren't erased completely. A powercut at this point is usually not that
      much of a tragedy. UBI won't give read access to the static volume
      because it has the update marker. It will most likely set the corrupted
      flag because it misses some EBs.
      So we are all good. Unless the size of the image that has been written
      differs from the old image in the magnitude of at least one EB. In that
      case UBI will find two different values for `used_ebs' and refuse to
      attach the image with the error message mentioned above.
      
      So in order not to get in the situation, the patch will ensure that we
      wait until everything is removed before it tries to write any data.
      The alternative would be to detect such a case and remove all EBs at the
      attached time after we processed the volume-table and see the
      update-marker set. The patch looks bigger and I doubt it is worth it
      since usually the write() will wait from time to time for a new EB since
      usually there not that many spare EB that can be used.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      9cd9a21c
  12. 29 3月, 2017 2 次提交
  13. 28 3月, 2017 1 次提交