diff options
Diffstat (limited to 'sys-utils/losetup.c')
-rw-r--r-- | sys-utils/losetup.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys-utils/losetup.c b/sys-utils/losetup.c index ba1363de3..606789c42 100644 --- a/sys-utils/losetup.c +++ b/sys-utils/losetup.c @@ -481,6 +481,12 @@ static int create_loop(struct loopdev_cxt *lc, loopcxt_deinit(lc); errx(EXIT_FAILURE, _("%s: overlapping encrypted loop device exists"), file); } + + lc->info.lo_flags &= !LO_FLAGS_AUTOCLEAR; + if (loopcxt_set_status(lc)) { + loopcxt_deinit(lc); + errx(EXIT_FAILURE, _("%s: failed to re-use loop device"), file); + } return 0; /* success, re-use */ } default: /* error */ |