extern char *loopdev_find_by_backing_file(const char *filename,
uint64_t offset, uint64_t sizelimit, int flags);
extern int loopcxt_find_unused(struct loopdev_cxt *lc);
-extern int loopdev_delete(const char *device);
+extern int loopdev_detach(const char *device);
extern int loopdev_count_by_backing_file(const char *filename, char **loopdev);
/*
extern int loopcxt_next(struct loopdev_cxt *lc);
extern int loopcxt_setup_device(struct loopdev_cxt *lc);
-extern int loopcxt_delete_device(struct loopdev_cxt *lc);
+extern int loopcxt_detach_device(struct loopdev_cxt *lc);
extern int loopcxt_ioctl_status(struct loopdev_cxt *lc);
extern int loopcxt_ioctl_capacity(struct loopdev_cxt *lc);
return 0;
}
-int loopcxt_delete_device(struct loopdev_cxt *lc)
+int loopcxt_detach_device(struct loopdev_cxt *lc)
{
int rc, fd = loopcxt_get_fd(lc);
if (fd < 0)
return -EINVAL;
- DBG(SETUP, ul_debugobj(lc, "calling LOOP_SET_CLR_FD"));
+ DBG(SETUP, ul_debugobj(lc, "calling LOOP_CLR_FD"));
rc = repeat_on_eagain( ioctl(fd, LOOP_CLR_FD, 0) );
if (rc != 0) {
/*
* Returns: 0 = success, < 0 error
*/
-int loopdev_delete(const char *device)
+int loopdev_detach(const char *device)
{
struct loopdev_cxt lc;
int rc;
if (!rc)
rc = loopcxt_set_device(&lc, device);
if (!rc)
- rc = loopcxt_delete_device(&lc);
+ rc = loopcxt_detach_device(&lc);
loopcxt_deinit(&lc);
return rc;
}
enum {
A_CREATE = 1, /* setup a new device */
- A_DELETE, /* delete given device(s) */
- A_DELETE_ALL, /* delete all devices */
+ A_DETACH, /* detach given device(s) */
+ A_DETACH_ALL, /* detach all devices */
A_SHOW, /* list devices */
A_SHOW_ONE, /* print info about one device */
A_FIND_FREE, /* find first unused */
loopcxt_get_device(lc), major(devno), minor(devno));
}
-static int delete_loop(struct loopdev_cxt *lc)
+static int detach_loop(struct loopdev_cxt *lc)
{
- if (loopcxt_delete_device(lc)) {
+ if (loopcxt_detach_device(lc)) {
warn(_("%s: detach failed"), loopcxt_get_device(lc));
if (loopcxt_is_lost(lc))
warn_lost(lc);
return -1;
}
-static int delete_all_loops(struct loopdev_cxt *lc)
+static int detach_all_loops(struct loopdev_cxt *lc)
{
int res = 0;
return -1;
while (loopcxt_next(lc) == 0)
- res += delete_loop(lc);
+ res += detach_loop(lc);
loopcxt_deinit_iterator(lc);
return res;
refname = optarg;
break;
case 'd':
- act = A_DELETE;
+ act = A_DETACH;
if (loopcxt_set_device(&lc, optarg))
err(EXIT_FAILURE, _("%s: failed to use device"),
optarg);
break;
case 'D':
- act = A_DELETE_ALL;
+ act = A_DETACH_ALL;
break;
case 'f':
act = A_FIND_FREE;
usage();
case 'V':
print_version(EXIT_SUCCESS);
+
default:
errtryhelp(EXIT_FAILURE);
}
warn_size(file, sizelimit, offset, flags);
}
break;
- case A_DELETE:
- res = delete_loop(&lc);
+ case A_DETACH:
+ res = detach_loop(&lc);
while (optind < argc) {
if (loopcxt_set_device(&lc, argv[optind]))
warn(_("%s: failed to use device"),
argv[optind]);
optind++;
- res += delete_loop(&lc);
+ res += detach_loop(&lc);
}
break;
- case A_DELETE_ALL:
- res = delete_all_loops(&lc);
+ case A_DETACH_ALL:
+ res = detach_all_loops(&lc);
break;
case A_FIND_FREE:
res = find_unused(&lc);