[PATCH v3 3/9] loop:refactor: del close_and_try_next_loopN
Xiaoming Ni
nixiaoming at huawei.com
Mon Nov 21 02:46:33 UTC 2022
Step 3 of micro-refactoring the set_loop() function:
Delete close_and_try_next_loopN.
(add/remove: 0/0 grow/shrink: 0/0 up/down: 0/0) Total: 0 bytes
Signed-off-by: Xiaoming Ni <nixiaoming at huawei.com>
---
libbb/loop.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libbb/loop.c b/libbb/loop.c
index baa02dabb..147597ab9 100644
--- a/libbb/loop.c
+++ b/libbb/loop.c
@@ -197,13 +197,14 @@ int FAST_FUNC set_loop(char **device, const char *file, unsigned long long offse
if (rc && errno == ENXIO) {
/* Associate free loop device with file */
if (ioctl(lfd, LOOP_SET_FD, ffd)) {
+ close(lfd);
/* Ouch. Are we racing with other mount? */
if (!*device) {
- close(lfd);
//TODO: add "if (--failcount != 0) ..."?
continue;
+ } else {
+ break;
}
- goto close_and_try_next_loopN;
}
memset(&loopinfo, 0, sizeof(loopinfo));
safe_strncpy((char *)loopinfo.lo_file_name, file, LO_NAME_SIZE);
@@ -233,7 +234,6 @@ int FAST_FUNC set_loop(char **device, const char *file, unsigned long long offse
/* failure, undo LOOP_SET_FD */
ioctl(lfd, LOOP_CLR_FD, 0); // actually, 0 param is unnecessary
}
- close_and_try_next_loopN:
close(lfd);
try_next_loopN:
rc = -1;
--
2.27.0
More information about the busybox
mailing list