Proper handle old systems.

git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@447 36d66b0a-2a48-0410-832c-cd162a569da5
This commit is contained in:
Milan Broz
2011-03-12 21:31:41 +00:00
parent 5ca29818e9
commit dd9bff8d67
2 changed files with 7 additions and 1 deletions

View File

@@ -985,6 +985,7 @@ int crypt_init(struct crypt_device **cd, const char *device)
"no free loop device found",
h->device ?: "");
if (!h->device) {
log_err(NULL, _("Cannot find a free loopback device.\n"));
r = -ENOSYS;
goto bad;
}
@@ -992,7 +993,8 @@ int crypt_init(struct crypt_device **cd, const char *device)
/* Keep the loop open, dettached on last close. */
h->loop_fd = crypt_loop_attach(h->device, device, 0, &readonly);
if (h->loop_fd == -1) {
log_dbg("Attaching loop failed.");
log_err(NULL, _("Attaching loopback device failed "
"(loop device with autoclear flag is required).\n"));
r = -EINVAL;
goto bad;
}

View File

@@ -5,6 +5,10 @@
#define LOOP_DEV_MAJOR 7
#ifndef LO_FLAGS_AUTOCLEAR
#define LO_FLAGS_AUTOCLEAR 4
#endif
char *crypt_loop_get_device(void);
char *crypt_loop_backing_file(const char *loop);
int crypt_loop_device(const char *loop);