aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Eggers <ceggers@arri.de>2024-07-10 13:29:04 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2024-09-25 07:35:06 +0200
commit481b459304ff461b3e93addadc246949791172bd (patch)
tree49d2f23b5f4c1f22f2f41f1f8b320a8a7e1a92b0
parentcc7af09ae09ae20565e61f7d33b5ec0329797647 (diff)
libubi: ubi_update_start: slightly improve documentation
Calling ubi_update_start() may fail if exclusive access to the UBI volume cannot be established by the kernel. This is likely to happen if an UBI volume is updated directly after creation, because current versions of (systemd-)udevd run their internal 'blkid' also for UBI volumes as soon as they appear (trying to read the UBIFS UUID). There are mainly to options for this case: 1. Don't allow udevd to read UBI volumes at all (means loosing functionatlity) 2. Wait until udevd has finished accessing a new volume (requires cooperation with udevd) 3. Simply retry after short time in case of EBUSY For using option 3, the documentation should state that the concrete error code can be read via errno (this has always been the case since libubi has been introduced). Link: https://groups.google.com/g/swupdate/c/8NVooKjD9oo Signed-off-by: Christian Eggers <ceggers@arri.de> Reviewed-by: Zhihao Cheng <chengzhihao1@huawei.com> Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-rw-r--r--include/libubi.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/libubi.h b/include/libubi.h
index e1e234e..9cb5037 100644
--- a/include/libubi.h
+++ b/include/libubi.h
@@ -431,8 +431,8 @@ int ubi_vol_block_remove(int fd);
* @bytes: how many bytes will be written to the volume
*
* This function initiates UBI volume update and returns %0 in case of success
- * and %-1 in case of error. The caller is assumed to write @bytes data to the
- * volume @fd afterward.
+ * and %-1 in case of error (errno is set). The caller is assumed to write
+ * @bytes data to the volume @fd afterward.
*/
int ubi_update_start(libubi_t desc, int fd, long long bytes);