summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt42
-rw-r--r--kernel/CMakeLists.txt31
-rw-r--r--kernel/Kbuild8
-rw-r--r--kernel/Makefile12
-rw-r--r--kernel/uapi/linux/xloop.h (renamed from kernel/uapi/linux/loop.h)2
-rw-r--r--kernel/xloop_file_fmt.c (renamed from kernel/loop_file_fmt.c)4
-rw-r--r--kernel/xloop_file_fmt.h (renamed from kernel/loop_file_fmt.h)4
-rw-r--r--kernel/xloop_file_fmt_qcow_cache.c (renamed from kernel/loop_file_fmt_qcow_cache.c)6
-rw-r--r--kernel/xloop_file_fmt_qcow_cache.h (renamed from kernel/loop_file_fmt_qcow_cache.h)2
-rw-r--r--kernel/xloop_file_fmt_qcow_cluster.c (renamed from kernel/loop_file_fmt_qcow_cluster.c)8
-rw-r--r--kernel/xloop_file_fmt_qcow_cluster.h (renamed from kernel/loop_file_fmt_qcow_cluster.h)2
-rw-r--r--kernel/xloop_file_fmt_qcow_main.c (renamed from kernel/loop_file_fmt_qcow_main.c)8
-rw-r--r--kernel/xloop_file_fmt_qcow_main.h (renamed from kernel/loop_file_fmt_qcow_main.h)2
-rw-r--r--kernel/xloop_file_fmt_raw.c (renamed from kernel/loop_file_fmt_raw.c)2
-rw-r--r--kernel/xloop_main.c (renamed from kernel/loop_main.c)10
-rw-r--r--kernel/xloop_main.h (renamed from kernel/loop_main.h)4
-rw-r--r--utils/CMakeLists.txt2
-rw-r--r--utils/bash-completion/xlosetup (renamed from utils/bash-completion/losetup)6
-rw-r--r--utils/lib/loopdev.c56
-rw-r--r--utils/sys-utils/CMakeLists.txt4
-rw-r--r--utils/sys-utils/xlosetup.8 (renamed from utils/sys-utils/losetup.8)0
-rw-r--r--utils/sys-utils/xlosetup.c (renamed from utils/sys-utils/losetup.c)18
22 files changed, 113 insertions, 120 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3a9f07a..ba17bf4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,26 +8,28 @@ if(NOT CMAKE_BUILD_TYPE)
endif()
# define packaging
-set(CPACK_GENERATOR "DEB")
-set(CPACK_SOURCE_GENERATOR "TGZ")
-set(CPACK_IGNORE_FILES "*.gitignore")
-set(CPACK_PACKAGE_NAME "xloop")
-set(CPACK_PACKAGE_DESCRIPTION "xloop Kernel modules and utility")
-set(CPACK_PACKAGE_VERSION_MAJOR 0)
-set(CPACK_PACKAGE_VERSION_MINOR 1)
-set(CPACK_PACKAGE_SECTION admin)
-set(CPACK_PACKAGE_VENDOR "University of Freiburg")
-set(CPACK_PACKAGE_CONTACT "Christian Rößler <christian.roessler@rz.uni-freiburg.de>")
-set(CPACK_PACKAGE_HOMEPAGE_URL "https://git.openslx.org/openslx-ng/xloop.git/")
-set(CPACK_PACKAGE_CHECKSUM SHA256)
-set(CPACK_STRIP_FILES TRUE)
-set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
-set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6")
-file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/package/deb/postinst "depmod -a\n")
-file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/package/deb/postrm "depmod -a\n")
-set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA ${CMAKE_CURRENT_BINARY_DIR}/package/deb/postinst
- ${CMAKE_CURRENT_BINARY_DIR}/package/deb/postrm)
-include(CPack)
+if(NOT CMAKE_BUILD_TYPE MATCHES Debug)
+ set(CPACK_GENERATOR "DEB")
+ set(CPACK_SOURCE_GENERATOR "TGZ")
+ set(CPACK_IGNORE_FILES "*.gitignore")
+ set(CPACK_PACKAGE_NAME "xloop")
+ set(CPACK_PACKAGE_DESCRIPTION "xloop Kernel modules and utility")
+ set(CPACK_PACKAGE_VERSION_MAJOR 0)
+ set(CPACK_PACKAGE_VERSION_MINOR 1)
+ set(CPACK_PACKAGE_SECTION admin)
+ set(CPACK_PACKAGE_VENDOR "University of Freiburg")
+ set(CPACK_PACKAGE_CONTACT "Christian Rößler <christian.roessler@rz.uni-freiburg.de>")
+ set(CPACK_PACKAGE_HOMEPAGE_URL "https://git.openslx.org/openslx-ng/xloop.git/")
+ set(CPACK_PACKAGE_CHECKSUM SHA256)
+ set(CPACK_STRIP_FILES TRUE)
+ set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6")
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/package/deb/postinst "depmod -a\n")
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/package/deb/postrm "depmod -a\n")
+ set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA ${CMAKE_CURRENT_BINARY_DIR}/package/deb/postinst
+ ${CMAKE_CURRENT_BINARY_DIR}/package/deb/postrm)
+ include(CPack)
+endif()
# add subprojects
add_subdirectory(kernel)
diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt
index c850f0a..7cc79dd 100644
--- a/kernel/CMakeLists.txt
+++ b/kernel/CMakeLists.txt
@@ -15,14 +15,17 @@ set(BLK_DEV_XLOOP_MIN_COUNT 8
CACHE STRING "Number of xloop devices to pre-create at init time")
set(XLOOP_MAJOR 120
CACHE STRING "Major number for xloop devices")
+set(XLOOP_CTRL_MINOR 15
+ CACHE STRING "Minor number for xloop-control device")
# print configured settings
message(STATUS "Kernel module path is " ${KERNEL_DIR})
message(STATUS "Number of xloop devices to pre-create at init time is " ${BLK_DEV_XLOOP_MIN_COUNT})
message(STATUS "Major number for xloop devices is " ${XLOOP_MAJOR})
+message(STATUS "Minor number for xloop-control device is " ${XLOOP_CTRL_MINOR})
# set C flags for a Linux kernel module
-set(KERNEL_C_FLAGS "-DCONFIG_BLK_DEV_XLOOP_MIN_COUNT=${BLK_DEV_XLOOP_MIN_COUNT} -DXLOOP_MAJOR=${XLOOP_MAJOR}"
+set(KERNEL_C_FLAGS "-DCONFIG_BLK_DEV_XLOOP_MIN_COUNT=${BLK_DEV_XLOOP_MIN_COUNT} -DXLOOP_MAJOR=${XLOOP_MAJOR} -DXLOOP_CTRL_MINOR=${XLOOP_CTRL_MINOR}"
CACHE STRING "C flags to be used for building the kernel module")
# set C flags for the debug mode of a Linux kernel module
set(KERNEL_C_FLAGS_DEBUG "-g -DDEBUG"
@@ -37,10 +40,10 @@ endif(CMAKE_BUILD_TYPE MATCHES Debug)
add_kernel_build(prepare ${CMAKE_CURRENT_SOURCE_DIR}/Kbuild)
# xloop main Linux kernel module
-set(KERNEL_MODULE_XLOOP_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/loop_file_fmt.c
- ${CMAKE_CURRENT_SOURCE_DIR}/loop_main.c)
-set(KERNEL_MODULE_XLOOP_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/loop_file_fmt.h
- ${CMAKE_CURRENT_SOURCE_DIR}/loop_main.h
+set(KERNEL_MODULE_XLOOP_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/xloop_main.c)
+set(KERNEL_MODULE_XLOOP_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/xloop_main.h
${CMAKE_CURRENT_SOURCE_DIR}/uapi)
add_kernel_module(xloop "${KERNEL_DIR}"
"CONFIG_BLK_DEV_XLOOP=m"
@@ -49,9 +52,9 @@ add_kernel_module(xloop "${KERNEL_DIR}"
${CMAKE_CURRENT_BINARY_DIR}/Kbuild)
# xloop_file_fmt_raw Linux kernel module
-set(KERNEL_MODULE_XLOOP_RAW_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/loop_file_fmt_raw.c)
+set(KERNEL_MODULE_XLOOP_RAW_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt_raw.c)
set(KERNEL_MODULE_XLOOP_RAW_HEADER_FILES )
-add_kernel_module(loop_file_fmt_raw "${KERNEL_DIR}"
+add_kernel_module(xloop_file_fmt_raw "${KERNEL_DIR}"
"CONFIG_BLK_DEV_XLOOP_FILE_FMT_RAW=m"
"${KERNEL_MODULE_XLOOP_RAW_SOURCE_FILES}"
"${KERNEL_MODULE_XLOOP_RAW_HEADER_FILES}"
@@ -59,13 +62,13 @@ add_kernel_module(loop_file_fmt_raw "${KERNEL_DIR}"
xloop)
# xloop_file_fmt_qcow Linux kernel module
-set(KERNEL_MODULE_XLOOP_QCOW_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/loop_file_fmt_qcow_cache.c
- ${CMAKE_CURRENT_SOURCE_DIR}/loop_file_fmt_qcow_cluster.c
- ${CMAKE_CURRENT_SOURCE_DIR}/loop_file_fmt_qcow_main.c)
-set(KERNEL_MODULE_XLOOP_QCOW_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/loop_file_fmt_qcow_cache.h
- ${CMAKE_CURRENT_SOURCE_DIR}/loop_file_fmt_qcow_cluster.h
- ${CMAKE_CURRENT_SOURCE_DIR}/loop_file_fmt_qcow_main.h)
-add_kernel_module(loop_file_fmt_qcow "${KERNEL_DIR}"
+set(KERNEL_MODULE_XLOOP_QCOW_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt_qcow_cache.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt_qcow_cluster.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt_qcow_main.c)
+set(KERNEL_MODULE_XLOOP_QCOW_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt_qcow_cache.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt_qcow_cluster.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt_qcow_main.h)
+add_kernel_module(xloop_file_fmt_qcow "${KERNEL_DIR}"
"CONFIG_BLK_DEV_XLOOP_FILE_FMT_QCOW=m"
"${KERNEL_MODULE_XLOOP_QCOW_SOURCE_FILES}"
"${KERNEL_MODULE_XLOOP_QCOW_HEADER_FILES}"
diff --git a/kernel/Kbuild b/kernel/Kbuild
index a216066..e3b34ac 100644
--- a/kernel/Kbuild
+++ b/kernel/Kbuild
@@ -2,11 +2,11 @@
# Linux kernel module xloop
obj-$(CONFIG_BLK_DEV_XLOOP) += xloop.o
-xloop-objs += loop_main.o loop_file_fmt.o
+xloop-objs += xloop_main.o xloop_file_fmt.o
# Linux kernel module loop_file_fmt_raw
-obj-$(CONFIG_BLK_DEV_XLOOP_FILE_FMT_RAW) += loop_file_fmt_raw.o
+obj-$(CONFIG_BLK_DEV_XLOOP_FILE_FMT_RAW) += xloop_file_fmt_raw.o
# Linux kernel module loop_file_fmt_qcow
-obj-$(CONFIG_BLK_DEV_XLOOP_FILE_FMT_QCOW) += loop_file_fmt_qcow.o
-loop_file_fmt_qcow-objs += loop_file_fmt_qcow_main.o loop_file_fmt_qcow_cluster.o loop_file_fmt_qcow_cache.o \ No newline at end of file
+obj-$(CONFIG_BLK_DEV_XLOOP_FILE_FMT_QCOW) += xloop_file_fmt_qcow.o
+xloop_file_fmt_qcow-objs += xloop_file_fmt_qcow_main.o xloop_file_fmt_qcow_cluster.o xloop_file_fmt_qcow_cache.o \ No newline at end of file
diff --git a/kernel/Makefile b/kernel/Makefile
deleted file mode 100644
index ca9019a..0000000
--- a/kernel/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-include $(PWD)/Kbuild
-
-ifndef KDIR
- KDIR = /lib/modules/$(shell uname -r)/build
-endif
-
-all:
- make -C "$(KDIR)" "M=$(PWD)" modules
-
-clean:
- make -C "$(KDIR)" "M=$(PWD)" clean
diff --git a/kernel/uapi/linux/loop.h b/kernel/uapi/linux/xloop.h
index f93f6ad..1bf13c6 100644
--- a/kernel/uapi/linux/loop.h
+++ b/kernel/uapi/linux/xloop.h
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */
/*
- * include/linux/loop.h
+ * include/linux/xloop.h
*
* Written by Theodore Ts'o, 3/29/93.
*
diff --git a/kernel/loop_file_fmt.c b/kernel/xloop_file_fmt.c
index 062ea0d..18672f7 100644
--- a/kernel/loop_file_fmt.c
+++ b/kernel/xloop_file_fmt.c
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
- * loop_file_fmt.c
+ * xloop_file_fmt.c
*
* File format subsystem for the xloop device module.
*
@@ -10,7 +10,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
-#include "loop_file_fmt.h"
+#include "xloop_file_fmt.h"
/* storage for all registered file format drivers */
static struct xloop_file_fmt_driver *xloop_file_fmt_drivers[MAX_XLO_FILE_FMT] = {
diff --git a/kernel/loop_file_fmt.h b/kernel/xloop_file_fmt.h
index 38d6a3b..a419f33 100644
--- a/kernel/loop_file_fmt.h
+++ b/kernel/xloop_file_fmt.h
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
- * loop_file_fmt.h
+ * xloop_file_fmt.h
*
* File format subsystem for the xloop device module.
*
@@ -10,7 +10,7 @@
#ifndef _LINUX_XLOOP_FILE_FMT_H
#define _LINUX_XLOOP_FILE_FMT_H
-#include "loop_main.h"
+#include "xloop_main.h"
struct xloop_file_fmt;
diff --git a/kernel/loop_file_fmt_qcow_cache.c b/kernel/xloop_file_fmt_qcow_cache.c
index 4ef772a..c0e19fb 100644
--- a/kernel/loop_file_fmt_qcow_cache.c
+++ b/kernel/xloop_file_fmt_qcow_cache.c
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
- * loop_file_fmt_qcow_cache.c
+ * xloop_file_fmt_qcow_cache.c
*
* QCOW file format driver for the xloop device module.
*
@@ -20,8 +20,8 @@
#include <linux/fs.h>
#include <linux/vmalloc.h>
-#include "loop_file_fmt_qcow_main.h"
-#include "loop_file_fmt_qcow_cache.h"
+#include "xloop_file_fmt_qcow_main.h"
+#include "xloop_file_fmt_qcow_cache.h"
static inline void *__xloop_file_fmt_qcow_cache_get_table_addr(
struct xloop_file_fmt_qcow_cache *c, int table)
diff --git a/kernel/loop_file_fmt_qcow_cache.h b/kernel/xloop_file_fmt_qcow_cache.h
index d2f1010..527d4ae 100644
--- a/kernel/loop_file_fmt_qcow_cache.h
+++ b/kernel/xloop_file_fmt_qcow_cache.h
@@ -14,7 +14,7 @@
#ifndef _LINUX_XLOOP_FILE_FMT_QCOW_CACHE_H
#define _LINUX_XLOOP_FILE_FMT_QCOW_CACHE_H
-#include "loop_file_fmt.h"
+#include "xloop_file_fmt.h"
struct xloop_file_fmt_qcow_cache_table {
s64 offset;
diff --git a/kernel/loop_file_fmt_qcow_cluster.c b/kernel/xloop_file_fmt_qcow_cluster.c
index 593a173..82fbc4f 100644
--- a/kernel/loop_file_fmt_qcow_cluster.c
+++ b/kernel/xloop_file_fmt_qcow_cluster.c
@@ -13,10 +13,10 @@
#include <linux/kernel.h>
#include <linux/string.h>
-#include "loop_file_fmt.h"
-#include "loop_file_fmt_qcow_main.h"
-#include "loop_file_fmt_qcow_cache.h"
-#include "loop_file_fmt_qcow_cluster.h"
+#include "xloop_file_fmt.h"
+#include "xloop_file_fmt_qcow_main.h"
+#include "xloop_file_fmt_qcow_cache.h"
+#include "xloop_file_fmt_qcow_cluster.h"
/*
* Loads a L2 slice into memory (L2 slices are the parts of L2 tables
diff --git a/kernel/loop_file_fmt_qcow_cluster.h b/kernel/xloop_file_fmt_qcow_cluster.h
index 5078f29..ff3e0a1 100644
--- a/kernel/loop_file_fmt_qcow_cluster.h
+++ b/kernel/xloop_file_fmt_qcow_cluster.h
@@ -13,7 +13,7 @@
#ifndef _LINUX_XLOOP_FILE_FMT_QCOW_CLUSTER_H
#define _LINUX_XLOOP_FILE_FMT_QCOW_CLUSTER_H
-#include "loop_file_fmt.h"
+#include "xloop_file_fmt.h"
extern int xloop_file_fmt_qcow_cluster_get_offset(struct xloop_file_fmt *xlo_fmt,
u64 offset,
diff --git a/kernel/loop_file_fmt_qcow_main.c b/kernel/xloop_file_fmt_qcow_main.c
index 7c3e360..c1fe34c 100644
--- a/kernel/loop_file_fmt_qcow_main.c
+++ b/kernel/xloop_file_fmt_qcow_main.c
@@ -22,10 +22,10 @@
#include <linux/vmalloc.h>
#include <linux/zlib.h>
-#include "loop_file_fmt.h"
-#include "loop_file_fmt_qcow_main.h"
-#include "loop_file_fmt_qcow_cache.h"
-#include "loop_file_fmt_qcow_cluster.h"
+#include "xloop_file_fmt.h"
+#include "xloop_file_fmt_qcow_main.h"
+#include "xloop_file_fmt_qcow_cache.h"
+#include "xloop_file_fmt_qcow_cluster.h"
static int __qcow_file_fmt_header_read(struct file *file,
struct xloop_file_fmt_qcow_header *header)
diff --git a/kernel/loop_file_fmt_qcow_main.h b/kernel/xloop_file_fmt_qcow_main.h
index 54b94c3..e6031be 100644
--- a/kernel/loop_file_fmt_qcow_main.h
+++ b/kernel/xloop_file_fmt_qcow_main.h
@@ -24,7 +24,7 @@
#include <linux/debugfs.h>
#endif
-#include "loop_file_fmt.h"
+#include "xloop_file_fmt.h"
#ifdef CONFIG_DEBUG_DRIVER
#define ASSERT(x) \
diff --git a/kernel/loop_file_fmt_raw.c b/kernel/xloop_file_fmt_raw.c
index 11cc8cd..6c205ee 100644
--- a/kernel/loop_file_fmt_raw.c
+++ b/kernel/xloop_file_fmt_raw.c
@@ -21,7 +21,7 @@
#include <linux/uio.h>
#include <linux/version.h>
-#include "loop_file_fmt.h"
+#include "xloop_file_fmt.h"
static inline loff_t __raw_file_fmt_rq_get_pos(struct xloop_file_fmt *xlo_fmt,
struct request *rq)
diff --git a/kernel/loop_main.c b/kernel/xloop_main.c
index 221b59f..a29b644 100644
--- a/kernel/loop_main.c
+++ b/kernel/xloop_main.c
@@ -1,5 +1,5 @@
/*
- * loop_main.c
+ * xloop_main.c
*
* Written by Theodore Ts'o, 3/29/93
*
@@ -86,8 +86,8 @@
#include <linux/debugfs.h>
#endif
-#include "loop_file_fmt.h"
-#include "loop_main.h"
+#include "xloop_file_fmt.h"
+#include "xloop_main.h"
#include <linux/uaccess.h>
@@ -2087,12 +2087,12 @@ static const struct file_operations xloop_ctl_fops = {
};
static struct miscdevice xloop_misc = {
- .minor = LOOP_CTRL_MINOR,
+ .minor = XLOOP_CTRL_MINOR,
.name = "xloop-control",
.fops = &xloop_ctl_fops,
};
-MODULE_ALIAS_MISCDEV(LOOP_CTRL_MINOR);
+MODULE_ALIAS_MISCDEV(XLOOP_CTRL_MINOR);
MODULE_ALIAS("devname:xloop-control");
static int __init xloop_init(void)
diff --git a/kernel/loop_main.h b/kernel/xloop_main.h
index 1b5851a..b9d0405 100644
--- a/kernel/loop_main.h
+++ b/kernel/xloop_main.h
@@ -15,12 +15,12 @@
#include <linux/spinlock.h>
#include <linux/mutex.h>
#include <linux/kthread.h>
-#include "uapi/linux/loop.h"
+#include "uapi/linux/xloop.h"
#ifdef CONFIG_DEBUG_FS
#include <linux/debugfs.h>
#endif
-#include "loop_file_fmt.h"
+#include "xloop_file_fmt.h"
/* Possible states of device */
enum {
diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
index 93fc41c..7669fd9 100644
--- a/utils/CMakeLists.txt
+++ b/utils/CMakeLists.txt
@@ -14,6 +14,6 @@ add_subdirectory(lib)
add_subdirectory(libsmartcols)
add_subdirectory(sys-utils)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bash-completion/losetup
+install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bash-completion/xlosetup
DESTINATION /usr/share/bash-completion/completions
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) \ No newline at end of file
diff --git a/utils/bash-completion/losetup b/utils/bash-completion/xlosetup
index e085abe..cdf75f1 100644
--- a/utils/bash-completion/losetup
+++ b/utils/bash-completion/xlosetup
@@ -1,4 +1,4 @@
-_losetup_module()
+_xlosetup_module()
{
local cur prev OPTS ARG
COMPREPLY=()
@@ -16,7 +16,7 @@ _losetup_module()
return 0
;;
'-c'|'--set-capacity')
- ARG="$(for I in /dev/loop[0-9]*; do if [ -e $I ]; then echo $I; fi; done)"
+ ARG="$(for I in /dev/xloop[0-9]*; do if [ -e $I ]; then echo $I; fi; done)"
COMPREPLY=( $(compgen -W "$ARG" -- $cur) )
return 0
;;
@@ -82,4 +82,4 @@ _losetup_module()
COMPREPLY=( $(compgen -f -- $cur) )
return 0
}
-complete -F _losetup_module losetup
+complete -F _xlosetup_module xlosetup
diff --git a/utils/lib/loopdev.c b/utils/lib/loopdev.c
index 686be53..57129bd 100644
--- a/utils/lib/loopdev.c
+++ b/utils/lib/loopdev.c
@@ -13,7 +13,7 @@
* - reads info from /sys/block/loop<N>/loop/<attr> (new kernels)
* - reads info by ioctl
* - supports *unlimited* number of loop devices
- * - supports /dev/loop<N> as well as /dev/loop/<N>
+ * - supports /dev/xloop<N> as well as /dev/xloop/<N>
* - minimize overhead (fd, loopinfo, ... are shared for all operations)
* - setup (associate device and backing file)
* - delete (dis-associate file)
@@ -77,9 +77,9 @@ static void loopdev_init_debug(void)
* @lc: context
* @device: device name, absolute device path or NULL to reset the current setting
*
- * Sets device, absolute paths (e.g. "/dev/loop<N>") are unchanged, device
- * names ("loop<N>") are converted to the path (/dev/loop<N> or to
- * /dev/loop/<N>)
+ * Sets device, absolute paths (e.g. "/dev/xloop<N>") are unchanged, device
+ * names ("xloop<N>") are converted to the path (/dev/xloop<N> or to
+ * /dev/xloop/<N>)
*
* This sets the device name, but does not check if the device exists!
*
@@ -107,9 +107,9 @@ int loopcxt_set_device(struct loopdev_cxt *lc, const char *device)
if (*device != '/') {
const char *dir = _PATH_DEV;
- /* compose device name for /dev/loop<n> or /dev/loop/<n> */
+ /* compose device name for /dev/xloop<n> or /dev/xloop/<n> */
if (lc->flags & LOOPDEV_FL_DEVSUBDIR) {
- if (strlen(device) < 5)
+ if (strlen(device) < 6)
return -1;
device += 4;
dir = _PATH_DEV_LOOP "/"; /* _PATH_DEV uses tailing slash */
@@ -324,7 +324,7 @@ int loopcxt_init_iterator(struct loopdev_cxt *lc, int flags)
if (!lc->extra_check) {
/*
- * Check for /dev/loop/<N> subdirectory
+ * Check for /dev/xloop/<N> subdirectory
*/
if (!(lc->flags & LOOPDEV_FL_DEVSUBDIR) &&
stat(_PATH_DEV_LOOP, &st) == 0 && S_ISDIR(st.st_mode))
@@ -438,11 +438,11 @@ static int loop_scandir(const char *dirname, int **ary, int hasprefix)
continue;
if (hasprefix) {
- /* /dev/loop<N> */
- if (sscanf(d->d_name, "loop%u", &n) != 1)
+ /* /dev/xloop<N> */
+ if (sscanf(d->d_name, "xloop%u", &n) != 1)
continue;
} else {
- /* /dev/loop/<N> */
+ /* /dev/xloop/<N> */
char *end = NULL;
errno = 0;
@@ -451,7 +451,7 @@ static int loop_scandir(const char *dirname, int **ary, int hasprefix)
continue;
}
if (n < LOOPDEV_DEFAULT_NNODES)
- continue; /* ignore loop<0..7> */
+ continue; /* ignore xloop<0..7> */
if (count + 1 > arylen) {
int *tmp;
@@ -542,10 +542,10 @@ static int loopcxt_next_from_sysfs(struct loopdev_cxt *lc)
if (strcmp(d->d_name, ".") == 0
|| strcmp(d->d_name, "..") == 0
- || strncmp(d->d_name, "loop", 4) != 0)
+ || strncmp(d->d_name, "xloop", 4) != 0)
continue;
- snprintf(name, sizeof(name), "%s/loop/backing_file", d->d_name);
+ snprintf(name, sizeof(name), "%s/xloop/backing_file", d->d_name);
if (fstatat(fd, name, &st, 0) != 0)
continue;
@@ -599,7 +599,7 @@ int loopcxt_next(struct loopdev_cxt *lc)
for (++iter->ncur; iter->ncur < LOOPDEV_DEFAULT_NNODES;
iter->ncur++) {
char name[16];
- snprintf(name, sizeof(name), "loop%d", iter->ncur);
+ snprintf(name, sizeof(name), "xloop%d", iter->ncur);
if (loopiter_set_device(lc, name) == 0)
return 0;
@@ -607,7 +607,7 @@ int loopcxt_next(struct loopdev_cxt *lc)
iter->default_check = 0;
}
- /* C) the worst possibility, scan whole /dev or /dev/loop/<N>
+ /* C) the worst possibility, scan whole /dev or /dev/xloop/<N>
*/
if (!iter->minors) {
DBG(ITER, ul_debugobj(iter, "next: scanning /dev"));
@@ -618,7 +618,7 @@ int loopcxt_next(struct loopdev_cxt *lc)
}
for (++iter->ncur; iter->ncur < iter->nminors; iter->ncur++) {
char name[16];
- snprintf(name, sizeof(name), "loop%d", iter->minors[iter->ncur]);
+ snprintf(name, sizeof(name), "xloop%d", iter->minors[iter->ncur]);
if (loopiter_set_device(lc, name) == 0)
return 0;
@@ -694,7 +694,7 @@ char *loopcxt_get_backing_file(struct loopdev_cxt *lc)
* This is always preferred, the loop_info64
* has too small buffer for the filename.
*/
- ul_path_read_string(sysfs, &res, "loop/backing_file");
+ ul_path_read_string(sysfs, &res, "xloop/backing_file");
if (!res && loopcxt_ioctl_enabled(lc)) {
struct loop_info64 *lo = loopcxt_get_info(lc);
@@ -722,7 +722,7 @@ int loopcxt_get_offset(struct loopdev_cxt *lc, uint64_t *offset)
int rc = -EINVAL;
if (sysfs)
- rc = ul_path_read_u64(sysfs, offset, "loop/offset");
+ rc = ul_path_read_u64(sysfs, offset, "xloop/offset");
if (rc && loopcxt_ioctl_enabled(lc)) {
struct loop_info64 *lo = loopcxt_get_info(lc);
@@ -782,7 +782,7 @@ int loopcxt_get_sizelimit(struct loopdev_cxt *lc, uint64_t *size)
int rc = -EINVAL;
if (sysfs)
- rc = ul_path_read_u64(sysfs, size, "loop/sizelimit");
+ rc = ul_path_read_u64(sysfs, size, "xloop/sizelimit");
if (rc && loopcxt_ioctl_enabled(lc)) {
struct loop_info64 *lo = loopcxt_get_info(lc);
@@ -861,7 +861,7 @@ int loopcxt_get_file_fmt_type(struct loopdev_cxt *lc, uint32_t* file_fmt_type)
if (sysfs) {
/* check if file_fmt_type is accessible and supported by the kernel module */
char* file_fmt_str = NULL;
- if (ul_path_read_string(sysfs, &file_fmt_str, "loop/file_fmt_type") == 0)
+ if (ul_path_read_string(sysfs, &file_fmt_str, "xloop/file_fmt_type") == 0)
rc = parse_file_fmt_type(file_fmt_str, file_fmt_type);
} else
rc = -errno;
@@ -886,9 +886,9 @@ char *loopcxt_get_file_fmt_type_string(struct loopdev_cxt *lc)
char *res = NULL;
if (sysfs)
- ul_path_read_string(sysfs, &res, "loop/file_fmt_type");
+ ul_path_read_string(sysfs, &res, "xloop/file_fmt_type");
- DBG(CXT, ul_debugobj(lc, "loopcxt_get_file_fmt_type_string [%s]", res));
+ DBG(CXT, ul_debugobj(lc, "xloopcxt_get_file_fmt_type_string [%s]", res));
return res;
}
@@ -1001,7 +1001,7 @@ int loopcxt_is_partscan(struct loopdev_cxt *lc)
if (sysfs) {
/* kernel >= 3.2 */
int fl;
- if (ul_path_read_s32(sysfs, &fl, "loop/partscan") == 0)
+ if (ul_path_read_s32(sysfs, &fl, "xloop/partscan") == 0)
return fl;
}
@@ -1020,7 +1020,7 @@ int loopcxt_is_autoclear(struct loopdev_cxt *lc)
if (sysfs) {
int fl;
- if (ul_path_read_s32(sysfs, &fl, "loop/autoclear") == 0)
+ if (ul_path_read_s32(sysfs, &fl, "xloop/autoclear") == 0)
return fl;
}
@@ -1066,7 +1066,7 @@ int loopcxt_is_dio(struct loopdev_cxt *lc)
if (sysfs) {
int fl;
- if (ul_path_read_s32(sysfs, &fl, "loop/dio") == 0)
+ if (ul_path_read_s32(sysfs, &fl, "xloop/dio") == 0)
return fl;
}
if (loopcxt_ioctl_enabled(lc)) {
@@ -1407,8 +1407,8 @@ int loopcxt_setup_device(struct loopdev_cxt *lc)
break;
if (errno != EACCES && errno != ENOENT)
break;
- /* We have permissions to open /dev/loop-control, but open
- * /dev/loopN failed with EACCES, it's probably because udevd
+ /* We have permissions to open /dev/xloop-control, but open
+ * /dev/xloopN failed with EACCES, it's probably because udevd
* does not applied chown yet. Let's wait a moment. */
xusleep(25000);
} while (cnt++ < 16);
@@ -1643,7 +1643,7 @@ int loopcxt_find_unused(struct loopdev_cxt *lc)
rc = ioctl(ctl, LOOP_CTL_GET_FREE);
if (rc >= 0) {
char name[16];
- snprintf(name, sizeof(name), "loop%d", rc);
+ snprintf(name, sizeof(name), "xloop%d", rc);
rc = loopiter_set_device(lc, name);
}
diff --git a/utils/sys-utils/CMakeLists.txt b/utils/sys-utils/CMakeLists.txt
index a36e88c..8f3ee47 100644
--- a/utils/sys-utils/CMakeLists.txt
+++ b/utils/sys-utils/CMakeLists.txt
@@ -4,11 +4,11 @@ cmake_minimum_required(VERSION 3.10)
project(xloop-utils-sys-utils)
# add xlosetup executable
-add_executable(xlosetup ${CMAKE_CURRENT_SOURCE_DIR}/losetup.c)
+add_executable(xlosetup ${CMAKE_CURRENT_SOURCE_DIR}/xlosetup.c)
target_link_libraries(xlosetup LINK_PUBLIC libcommon libsmartcols)
target_include_directories(xlosetup PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../lib ${CMAKE_CURRENT_SOURCE_DIR}/../libsmartcols)
install(TARGETS xlosetup DESTINATION bin)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/losetup.8
+install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/xlosetup.8
DESTINATION /usr/share/man/man8
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) \ No newline at end of file
diff --git a/utils/sys-utils/losetup.8 b/utils/sys-utils/xlosetup.8
index 92aff3e..92aff3e 100644
--- a/utils/sys-utils/losetup.8
+++ b/utils/sys-utils/xlosetup.8
diff --git a/utils/sys-utils/losetup.c b/utils/sys-utils/xlosetup.c
index 5e5ce9e..cab1037 100644
--- a/utils/sys-utils/losetup.c
+++ b/utils/sys-utils/xlosetup.c
@@ -2,7 +2,7 @@
* Copyright (C) 2011 Karel Zak <kzak@redhat.com>
* Originally from Ted's losetup.c
*
- * losetup.c - setup and control loop devices
+ * xlosetup.c - setup and control loop devices
*/
#include <assert.h>
#include <stdio.h>
@@ -458,7 +458,7 @@ static void __attribute__((__noreturn__)) usage(void)
for (i = 0; i < ARRAY_SIZE(infos); i++)
fprintf(out, " %12s %s\n", infos[i].name, _(infos[i].help));
- printf(USAGE_MAN_TAIL("losetup(8)"));
+ printf(USAGE_MAN_TAIL("xlosetup(8)"));
exit(EXIT_SUCCESS);
}
@@ -494,7 +494,7 @@ static int create_loop(struct loopdev_cxt *lc,
int hasdev = loopcxt_has_device(lc);
int rc = 0;
- /* losetup --find --noverlap file.img */
+ /* xlosetup --find --noverlap file.img */
if (!hasdev && nooverlap) {
rc = loopcxt_find_overlap(lc, file, offset, sizelimit);
switch (rc) {
@@ -541,7 +541,7 @@ static int create_loop(struct loopdev_cxt *lc,
if (hasdev && !is_loopdev(loopcxt_get_device(lc)))
loopcxt_add_device(lc);
- /* losetup --noverlap /dev/loopN file.img */
+ /* xlosetup --noverlap /dev/loopN file.img */
if (hasdev && nooverlap) {
struct loopdev_cxt lc2;
@@ -803,7 +803,7 @@ int main(int argc, char **argv)
if (act == A_FIND_FREE && optind < argc) {
/*
- * losetup -f <backing_file>
+ * xlosetup -f <backing_file>
*/
act = A_CREATE;
file = argv[optind++];
@@ -814,15 +814,15 @@ int main(int argc, char **argv)
if (list && !act && optind == argc)
/*
- * losetup --list defaults to --all
+ * xlosetup --list defaults to --all
*/
act = A_SHOW;
if (!act && optind + 1 == argc) {
/*
- * losetup [--list] <device>
+ * xlosetup [--list] <device>
* OR
- * losetup {--direct-io[=off]|--logical-blocksize=size}... <device>
+ * xlosetup {--direct-io[=off]|--logical-blocksize=size}... <device>
*/
if (!(set_dio || set_blocksize))
act = A_SHOW_ONE;
@@ -838,7 +838,7 @@ int main(int argc, char **argv)
}
if (!act) {
/*
- * losetup <loopdev> <backing_file>
+ * xlosetup <loopdev> <backing_file>
*/
act = A_CREATE;