Hello community,
here is the log from the commit of package util-linux
checked in at Sun Feb 10 18:13:32 CET 2008.
--------
--- util-linux/util-linux.changes 2008-02-07 12:43:32.000000000 +0100
+++ /mounts/work_src_done/STABLE/util-linux/util-linux.changes 2008-02-10 18:12:45.974431000 +0100
@@ -1,0 +2,6 @@
+Sun Feb 10 18:11:07 CET 2008 - lrupp@suse.de
+
+- revert to 2.13.0.1+git20071121
+ breaks current 'mount' call in Buildservice
+
+-------------------------------------------------------------------
Old:
----
util-linux-2.13.1-canonicalize_loopfile_name.patch
util-linux-2.13.1-getfs_fix.patch
util-linux-2.13.1-mkfs.minix_add_sectorsize_check.patch
util-linux-2.13.1-mkfs.minix_device_size_cleanup.patch
util-linux-2.13.1-prevent_loop_mounting_the_same_file_twice.patch
util-linux-ng-2.13.1.tar.bz2
util-linux-ng-2.13-swapon-swsuspend.patch
New:
----
util-linux-2.12r-mount_swapon_swsuspend_resume.patch
util-linux-2.13-mount_fd_leak.patch
util-linux-ng-2.13.0.1+git20071121.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ util-linux.spec ++++++
--- /var/tmp/diff_new_pack.J16046/_old 2008-02-10 18:13:14.000000000 +0100
+++ /var/tmp/diff_new_pack.J16046/_new 2008-02-10 18:13:14.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package util-linux (Version 2.13.1)
+# spec file for package util-linux (Version 2.13.0.1+git20071121)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -20,8 +20,8 @@
License: BSD 3-Clause; GPL v2 or later
Group: System/Base
AutoReqProv: on
-Version: 2.13.1
-Release: 1
+Version: 2.13.0.1+git20071121
+Release: 22
Summary: A collection of basic system utilities
Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux/%name-ng-%version.tar.bz2
Source1: util-linux-2.13-rpmlintrc
@@ -46,30 +46,28 @@
Source29: mkzimage_cmdline.c
Source30: README.largedisk
##
-## util-linux patches
+## util-linux
##
+#
# add hostid
Patch1: util-linux-2.12-misc_utils_hostid.patch
# 104405 - mount -a doesn't work with hotpluggable devices
Patch2: util-linux-mount_opt_nofail.patch
+# 176582 - If the user doesn't specify -t <fstype> mount.fstype will never be called
+#TODO: check alternative upstream fix
+#Patch96: util-linux-2.12r-mount_external_prog_on_guess.patch
# 160822 - fix for 153657
Patch3: util-linux-2.12r-fdisk_cyl.patch
# 241372 - remove legacy warnings from fdisk
-Patch4: util-linux-2.12r-fdisk_remove_bogus_warnings.patch
-# 304861 - support password hashing and key length
-Patch6: util-linux-2.13-fdisk_cfdisk_ncursesw.patch
-# 338419
-Patch7: util-linux-2.13-hwclock_rtc_wait_busy_tempfix.patch
-# in upstream git, but not yet released
-Patch8: util-linux-2.13.1-canonicalize_loopfile_name.patch
-Patch9: util-linux-2.13.1-prevent_loop_mounting_the_same_file_twice.patch
-Patch10: util-linux-2.13.1-mkfs.minix_add_sectorsize_check.patch
-Patch11: util-linux-2.13.1-mkfs.minix_device_size_cleanup.patch
-#
-Patch12: util-linux-2.13.1-getfs_fix.patch
+Patch5: util-linux-2.12r-fdisk_remove_bogus_warnings.patch
# 254437 - swapon should automatically reset the suspend signature
-Patch13: util-linux-ng-2.13-swapon-swsuspend.patch
-Patch20: util-linux-mount_losetup_crypto.patch
+# TODO: Needs to be ported to new version
+Patch38: util-linux-2.12r-mount_swapon_swsuspend_resume.patch
+# 304861 - support password hashing and key length
+Patch10: util-linux-mount_losetup_crypto.patch
+Patch11: util-linux-2.13-mount_fd_leak.patch
+Patch12: util-linux-2.13-fdisk_cfdisk_ncursesw.patch
+Patch13: util-linux-2.13-hwclock_rtc_wait_busy_tempfix.patch
##
##
## adjtimex
@@ -107,17 +105,12 @@
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
+%patch5 -p1
+#%patch38 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
-%patch20 -p1
-#%patch38 -p1
#
cd adjtimex-*
%patch50 -p1
@@ -565,6 +558,9 @@
#%endif
%changelog
+* Sun Feb 10 2008 lrupp@suse.de
+- revert to 2.13.0.1+git20071121
+ breaks current 'mount' call in Buildservice
* Thu Feb 07 2008 mkoenig@suse.de
- update to version 2.13.1:
mount:
++++++ util-linux-2.12r-mount_swapon_swsuspend_resume.patch ++++++
## 30swsusp-resume.dpatch by Jeff Bailey
Index: util-linux-ng-2.12r+git20070330/mount/swapon.c
===================================================================
--- util-linux-ng-2.12r+git20070330.orig/mount/swapon.c
+++ util-linux-ng-2.12r+git20070330/mount/swapon.c
@@ -10,7 +10,9 @@
#include
#include
#include
+#include
#include
+#include
#include "xmalloc.h"
#include "swap_constants.h"
#include "swapargs.h"
@@ -23,6 +25,7 @@
#define _PATH_FSTAB "/etc/fstab"
#define PROC_SWAPS "/proc/swaps"
+#define PATH_MKSWAP "/sbin/mkswap"
#define SWAPON_NEEDS_TWO_ARGS
@@ -179,6 +182,85 @@ display_summary(void)
return 0 ;
}
+/*
+ * It's better do swsuspend detection by follow routine than
+ * include huge mount_guess_fstype.o to swapon. We need only
+ * swsuspend and no the others filesystems.
+ */
+#ifdef HAVE_LIBBLKID
+static int
+swap_is_swsuspend(const char *device) {
+ const char *type = blkid_get_tag_value(blkid, "TYPE", device);
+
+ if (type && strcmp(type, "swsuspend")==0)
+ return 0;
+ return 1;
+}
+#else
+static int
+swap_is_swsuspend(const char *device) {
+ int fd, re = 1, n = getpagesize() - 10;
+ char buf[10];
+
+ fd = open(device, O_RDONLY);
+ if (fd < 0)
+ return -1;
+
+ if (lseek(fd, n, SEEK_SET) >= 0 &&
+ read(fd, buf, sizeof buf) == sizeof buf &&
+ (memcmp("S1SUSPEND", buf, 9)==0 ||
+ memcmp("S2SUSPEND", buf, 9)==0 ||
+ memcmp("ULSUSPEND", buf, 9)==0))
+ re = 0;
+
+ close(fd);
+ return re;
+}
+#endif
+
+/* calls mkswap */
+static int
+swap_reinitialize(const char *device) {
+ const char *label = mount_get_volume_label_by_spec(device);
+ pid_t pid;
+
+ switch((pid=fork())) {
+ case -1: /* fork error */
+ fprintf(stderr, _("%s: cannot fork: %s\n"),
+ progname, strerror(errno));
+ return -1;
+
+ case 0: /* child */
+ if (label && *label)
+ execl(PATH_MKSWAP, PATH_MKSWAP, "-L", label, device, NULL);
+ else
+ execl(PATH_MKSWAP, PATH_MKSWAP, device, NULL);
+ exit(1); /* error */
+
+ default: /* parent */
+ {
+ int status;
+ int ret;
+
+ do {
+ if ((ret = waitpid(pid, &status, 0)) < 0
+ && errno == EINTR)
+ continue;
+ else if (ret < 0) {
+ fprintf(stderr, _("%s: waitpid: %s\n"),
+ progname, strerror(errno));
+ return -1;
+ }
+ } while (0);
+
+ /* mkswap returns: 0=suss, 1=error */
+ if (WIFEXITED(status) && WEXITSTATUS(status)==0)
+ return 0; /* ok */
+ }
+ }
+ return -1; /* error */
+}
+
static int
do_swapon(const char *orig_special, int prio) {
int status;
@@ -202,6 +284,18 @@ do_swapon(const char *orig_special, int
return -1;
}
+ /* We have to reinitialize swap with old (=useless) software suspend
+ * data. The problem is that if we don't do it, then we get data
+ * corruption the next time with suspended on.
+ */
+ if (swap_is_swsuspend(special)==0) {
+ fprintf(stdout, _("%s: %s: software suspend data detected. "
+ "Reinitializing the swap.\n"),
+ progname, special);
+ if (swap_reinitialize(special) < 0)
+ return -1;
+ }
+
/* people generally dislike this warning - now it is printed
only when `verbose' is set */
if (verbose) {
++++++ util-linux-2.13-mount_fd_leak.patch ++++++
Index: util-linux-ng-2.13rc2+git20070725/mount/lomount.c
===================================================================
--- util-linux-ng-2.13rc2+git20070725.orig/mount/lomount.c
+++ util-linux-ng-2.13rc2+git20070725/mount/lomount.c
@@ -325,6 +325,7 @@ set_loop(const char *device, const char
}
if ((fd = open(device, mode)) < 0) {
perror (device);
+ close(ffd);
return 1;
}
*loopro = (mode == O_RDONLY);
++++++ util-linux-mount_losetup_crypto.patch ++++++
--- /var/tmp/diff_new_pack.J16046/_old 2008-02-10 18:13:14.000000000 +0100
+++ /var/tmp/diff_new_pack.J16046/_new 2008-02-10 18:13:14.000000000 +0100
@@ -40,33 +40,31 @@
create mode 100644 mount/sha512.c
create mode 100644 mount/sha512.h
-Index: util-linux-ng-2.13.1/mount/Makefile.am
-===================================================================
---- util-linux-ng-2.13.1.orig/mount/Makefile.am
-+++ util-linux-ng-2.13.1/mount/Makefile.am
-@@ -13,6 +13,7 @@ headers_common = fstab.h linux_fs.h moun
+diff --git a/mount/Makefile.am b/mount/Makefile.am
+index 01643b2..cb7af0a 100644
+--- a/mount/Makefile.am
++++ b/mount/Makefile.am
+@@ -13,6 +13,7 @@ headers_common = fstab.h mount_mntent.h mount_constants.h \
getusername.h loop.h sundries.h
mount_common = fstab.c mount_mntent.c getusername.c lomount.c \
+ rmd160.c sha512.c \
- $(utils_common) $(headers_common) ../lib/env.c
-
- mount_SOURCES = mount.c $(mount_common) ../lib/setproctitle.c
-@@ -25,7 +26,8 @@ umount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LD
+ $(utils_common) $(headers_common) ../lib/env.c ../lib/linux_version.c \
+ ../lib/blkdev.c
+@@ -27,6 +28,7 @@ umount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
swapon_SOURCES = swapon.c swap_constants.h $(utils_common)
--losetup_SOURCES = lomount.c loop.h lomount.h realpath.c xmalloc.c
-+losetup_SOURCES = lomount.c loop.h lomount.h realpath.c xmalloc.c \
-+ rmd160.c sha512.c
+ losetup_SOURCES = lomount.c sundries.c xmalloc.c realpath.c \
++ rmd160.c sha512.c \
+ loop.h lomount.h xmalloc.h sundries.h realpath.h
losetup_CPPFLAGS = -DMAIN $(AM_CPPFLAGS)
- mount_LDADD = $(LDADD_common)
-Index: util-linux-ng-2.13.1/mount/lomount.c
-===================================================================
---- util-linux-ng-2.13.1.orig/mount/lomount.c
-+++ util-linux-ng-2.13.1/mount/lomount.c
-@@ -20,11 +20,16 @@
+diff --git a/mount/lomount.c b/mount/lomount.c
+index 5bd8954..98f144f 100644
+--- a/mount/lomount.c
++++ b/mount/lomount.c
+@@ -20,12 +20,18 @@
#include "loop.h"
#include "lomount.h"
@@ -74,20 +72,22 @@
+#include "sha512.h"
#include "xstrncpy.h"
#include "nls.h"
- #include "realpath.h"
+ #include "sundries.h"
#include "xmalloc.h"
+ #include "realpath.h"
+#ifndef MIN
+#define MIN(a,b) ((a\n"
@@ -300,7 +300,7 @@
" -o | --offset <num> start at offset <num> into file\n"
" -p | --pass-fd <num> read passphrase from file descriptor <num>\n"
" -r | --read-only setup read-only loop device\n"
-@@ -594,11 +708,14 @@ error (const char *fmt, ...) {
+@@ -582,11 +696,14 @@ usage(void) {
int
main(int argc, char **argv) {
char *p, *offset, *encryption, *passfd, *device, *file;
@@ -315,7 +315,7 @@
unsigned long long off;
struct option longopts[] = {
{ "all", 0, 0, 'a' },
-@@ -606,6 +723,8 @@ main(int argc, char **argv) {
+@@ -594,6 +711,8 @@ main(int argc, char **argv) {
{ "encryption", 1, 0, 'e' },
{ "find", 0, 0, 'f' },
{ "help", 0, 0, 'h' },
@@ -324,7 +324,7 @@
{ "offset", 1, 0, 'o' },
{ "pass-fd", 1, 0, 'p' },
{ "read-only", 0, 0, 'r' },
-@@ -621,12 +740,13 @@ main(int argc, char **argv) {
+@@ -609,12 +728,13 @@ main(int argc, char **argv) {
delete = find = all = 0;
off = 0;
offset = encryption = passfd = NULL;
@@ -339,7 +339,7 @@
longopts, NULL)) != -1) {
switch (c) {
case 'a':
-@@ -645,6 +765,12 @@ main(int argc, char **argv) {
+@@ -633,6 +753,12 @@ main(int argc, char **argv) {
case 'f':
find = 1;
break;
@@ -352,7 +352,7 @@
case 'o':
offset = optarg;
break;
-@@ -708,8 +834,10 @@ main(int argc, char **argv) {
+@@ -696,8 +822,10 @@ main(int argc, char **argv) {
usage();
if (passfd && sscanf(passfd, "%d", &pfd) != 1)
usage();
@@ -364,10 +364,22 @@
if (res == 2 && find) {
if (verbose)
printf("stolen loop=%s...trying again\n",
-Index: util-linux-ng-2.13.1/mount/losetup.8
-===================================================================
---- util-linux-ng-2.13.1.orig/mount/losetup.8
-+++ util-linux-ng-2.13.1/mount/losetup.8
+diff --git a/mount/lomount.h b/mount/lomount.h
+index 38b3a48..3a6210f 100644
+--- a/mount/lomount.h
++++ b/mount/lomount.h
+@@ -1,5 +1,5 @@
+-extern int set_loop(const char *, const char *, unsigned long long,
+- const char *, int, int *);
++extern int set_loop(const char *device, const char *file, unsigned long long offset,
++ const char *encryption, const char* phash, int pfd, int *loopro, int keysz);
+ extern int del_loop(const char *);
+ extern int is_loop_device(const char *);
+ extern char * find_unused_loop_device(void);
+diff --git a/mount/losetup.8 b/mount/losetup.8
+index db2929f..54bbc94 100644
+--- a/mount/losetup.8
++++ b/mount/losetup.8
@@ -76,6 +76,15 @@ find the first unused loop device. If a
argument is present, use this device. Otherwise, print its name.
.IP "\fB\-h, \-\-help\fP"
@@ -393,11 +405,11 @@
Cryptoloop is deprecated in favor of dm-crypt. For more details see
.B cryptsetup(8).
-Index: util-linux-ng-2.13.1/mount/mount.8
-===================================================================
---- util-linux-ng-2.13.1.orig/mount/mount.8
-+++ util-linux-ng-2.13.1/mount/mount.8
-@@ -610,6 +610,15 @@ This option implies the options
+diff --git a/mount/mount.8 b/mount/mount.8
+index 54b11d4..e79ea04 100644
+--- a/mount/mount.8
++++ b/mount/mount.8
+@@ -615,6 +615,15 @@ This option implies the options
(unless overridden by subsequent options, as in the option line
.BR group,dev,suid ).
.TP
@@ -413,7 +425,7 @@
.B mand
Allow mandatory locks on this filesystem. See
.BR fcntl (2).
-@@ -2008,6 +2017,10 @@ that are really options to
+@@ -2010,6 +2019,10 @@ that are really options to
.BR \%losetup (8).
(These options can be used in addition to those specific
to the filesystem type.)
@@ -424,11 +436,11 @@
If no explicit loop device is mentioned
(but just an option `\fB\-o loop\fP' is given), then
-Index: util-linux-ng-2.13.1/mount/mount.c
-===================================================================
---- util-linux-ng-2.13.1.orig/mount/mount.c
-+++ util-linux-ng-2.13.1/mount/mount.c
-@@ -94,6 +94,9 @@ static int suid = 0;
+diff --git a/mount/mount.c b/mount/mount.c
+index 60fe4fe..164ae3c 100644
+--- a/mount/mount.c
++++ b/mount/mount.c
+@@ -88,6 +88,9 @@ static int suid = 0;
/* Contains the fd to read the passphrase from, if any. */
static int pfd = -1;
@@ -438,7 +450,7 @@
/* Map from -o and fstab option strings to the flag argument to mount(2). */
struct opt_map {
const char *opt; /* option name */
-@@ -191,6 +194,7 @@ static int opt_nofail = 0;
+@@ -182,6 +185,7 @@ static const struct opt_map opt_map[] = {
static const char *opt_loopdev, *opt_vfstype, *opt_offset, *opt_encryption,
*opt_speed, *opt_comment, *opt_uhelper;
@@ -446,7 +458,7 @@
static int mounted (const char *spec0, const char *node0);
static int check_special_mountprog(const char *spec, const char *node,
-@@ -205,6 +209,8 @@ static struct string_opt_map {
+@@ -196,6 +200,8 @@ static struct string_opt_map {
{ "vfs=", 1, &opt_vfstype },
{ "offset=", 0, &opt_offset },
{ "encryption=", 0, &opt_encryption },
@@ -455,7 +467,7 @@
{ "speed=", 0, &opt_speed },
{ "comment=", 1, &opt_comment },
{ "uhelper=", 0, &opt_uhelper },
-@@ -903,7 +909,7 @@ loop_check(const char **spec, const char
+@@ -897,7 +903,7 @@ loop_check(const char **spec, const char **type, int *flags,
*type = opt_vfstype;
}
@@ -464,7 +476,7 @@
*loopfile = *spec;
if (*loop) {
-@@ -929,9 +935,10 @@ loop_check(const char **spec, const char
+@@ -923,9 +929,10 @@ loop_check(const char **spec, const char **type, int *flags,
return EX_SYSERR; /* no more loop devices */
if (verbose)
printf(_("mount: going to use the loop device %s\n"), *loopdev);
@@ -477,15 +489,15 @@
if (res == 2) {
/* loop dev has been grabbed by some other process,
try again, if not given explicitly */
-@@ -1681,6 +1688,7 @@ static struct option longopts[] = {
+@@ -1661,6 +1668,7 @@ static struct option longopts[] = {
{ "options", 1, 0, 'o' },
{ "test-opts", 1, 0, 'O' },
{ "pass-fd", 1, 0, 'p' },
+ { "keybits", 1, 0, 'k' },
{ "types", 1, 0, 't' },
{ "bind", 0, 0, 128 },
- { "replace", 0, 0, 129 },
-@@ -1836,6 +1844,7 @@ main(int argc, char *argv[]) {
+ { "move", 0, 0, 133 },
+@@ -1807,6 +1815,7 @@ main(int argc, char *argv[]) {
char *options = NULL, *test_opts = NULL, *node;
const char *spec = NULL;
char *label = NULL;
@@ -493,7 +505,7 @@
char *uuid = NULL;
char *types = NULL;
char *p;
-@@ -1866,7 +1875,7 @@ main(int argc, char *argv[]) {
+@@ -1837,7 +1846,7 @@ main(int argc, char *argv[]) {
initproctitle(argc, argv);
#endif
@@ -502,7 +514,7 @@
longopts, NULL)) != -1) {
switch (c) {
case 'a': /* mount everything in fstab */
-@@ -1884,6 +1893,9 @@ main(int argc, char *argv[]) {
+@@ -1855,6 +1864,9 @@ main(int argc, char *argv[]) {
case 'i':
external_allowed = 0;
break;
@@ -512,9 +524,9 @@
case 'l':
list_with_volumelabel = 1;
break;
-@@ -2030,6 +2042,9 @@ main(int argc, char *argv[]) {
- create_mtab ();
- }
+@@ -1991,6 +2003,9 @@ main(int argc, char *argv[]) {
+
+ atexit(unlock_mtab);
+ if (keysize && sscanf(keysize,"%d",&keysz) != 1)
+ die (EX_USAGE, _("mount: argument to --keybits or -k must be a number"));
@@ -522,10 +534,22 @@
switch (argc+specseen) {
case 0:
/* mount -a */
-Index: util-linux-ng-2.13.1/mount/rmd160.c
-===================================================================
+diff --git a/mount/my_dev_t.h b/mount/my_dev_t.h
+new file mode 100644
+index 0000000..5c4c0a1
+--- /dev/null
++++ b/mount/my_dev_t.h
+@@ -0,0 +1,5 @@
++/* silliness to get dev_t defined as the kernel defines it */
++/* glibc uses a different dev_t */
++
++#include
++#define my_dev_t __kernel_old_dev_t
+diff --git a/mount/rmd160.c b/mount/rmd160.c
+new file mode 100644
+index 0000000..3430954
--- /dev/null
-+++ util-linux-ng-2.13.1/mount/rmd160.c
++++ b/mount/rmd160.c
@@ -0,0 +1,532 @@
+/* rmd160.c - RIPE-MD160
+ * Copyright (C) 1998 Free Software Foundation, Inc.
@@ -1059,10 +1083,11 @@
+ rmd160_final( &hd );
+ memcpy( outbuf, hd.buf, 20 );
+}
-Index: util-linux-ng-2.13.1/mount/rmd160.h
-===================================================================
+diff --git a/mount/rmd160.h b/mount/rmd160.h
+new file mode 100644
+index 0000000..4b2c61d
--- /dev/null
-+++ util-linux-ng-2.13.1/mount/rmd160.h
++++ b/mount/rmd160.h
@@ -0,0 +1,11 @@
+#ifndef RMD160_H
+#define RMD160_H
@@ -1075,10 +1100,11 @@
+#endif /*RMD160_H*/
+
+
-Index: util-linux-ng-2.13.1/mount/sha512.c
-===================================================================
+diff --git a/mount/sha512.c b/mount/sha512.c
+new file mode 100644
+index 0000000..e4c9c13
--- /dev/null
-+++ util-linux-ng-2.13.1/mount/sha512.c
++++ b/mount/sha512.c
@@ -0,0 +1,432 @@
+/*
+ * sha512.c
@@ -1512,10 +1538,11 @@
+ memset(&ctx, 0, sizeof(ctx));
+}
+#endif
-Index: util-linux-ng-2.13.1/mount/sha512.h
-===================================================================
+diff --git a/mount/sha512.h b/mount/sha512.h
+new file mode 100644
+index 0000000..4b57c01
--- /dev/null
-+++ util-linux-ng-2.13.1/mount/sha512.h
++++ b/mount/sha512.h
@@ -0,0 +1,45 @@
+/*
+ * sha512.h
@@ -1562,16 +1589,6 @@
+/* no sha384_write(), use sha512_write() */
+/* no sha384_final(), use sha512_final(), result in ctx->sha_out[0...47] */
+extern void sha384_hash_buffer(const unsigned char *, size_t, unsigned char *, size_t);
-Index: util-linux-ng-2.13.1/mount/lomount.h
-===================================================================
---- util-linux-ng-2.13.1.orig/mount/lomount.h
-+++ util-linux-ng-2.13.1/mount/lomount.h
-@@ -1,6 +1,6 @@
- extern int verbose;
--extern int set_loop(const char *, const char *, unsigned long long,
-- const char *, int, int *);
-+extern int set_loop(const char *device, const char *file, unsigned long long offset,
-+ const char *encryption, const char* phash, int pfd, int *loopro, int keysz);
- extern int del_loop(const char *);
- extern int is_loop_device(const char *);
- extern char * find_unused_loop_device(void);
+--
+1.5.3.4
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org