diff --git a/cryptsetup-1.0.5-run_udevsettle.patch b/cryptsetup-1.0.5-run_udevsettle.patch new file mode 100644 index 0000000..d466f51 --- /dev/null +++ b/cryptsetup-1.0.5-run_udevsettle.patch @@ -0,0 +1,28 @@ +Index: cryptsetup-1.0.5/lib/libdevmapper.c +=================================================================== +--- cryptsetup-1.0.5.orig/lib/libdevmapper.c ++++ cryptsetup-1.0.5/lib/libdevmapper.c +@@ -18,6 +18,13 @@ + + #define CRYPT_TARGET "crypt" + ++#define UDEVSETTLE "/sbin/udevsettle" ++ ++static void run_udevsettle(void) ++{ ++ system(UDEVSETTLE); ++} ++ + static void set_dm_error(int level, const char *file, int line, + const char *f, ...) + { +@@ -184,6 +191,9 @@ static int dm_create_device(int reload, + if (dmi.read_only) + options->flags |= CRYPT_FLAG_READONLY; + ++ /* run udevsettle to avoid problems with busy dm devices */ ++ run_udevsettle(); ++ + r = 0; + + out: diff --git a/cryptsetup.changes b/cryptsetup.changes index 4303ddb..6e7f38b 100644 --- a/cryptsetup.changes +++ b/cryptsetup.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Jun 21 16:06:53 CEST 2007 - mkoenig@suse.de + +- run udevsettle to avoid problems with busy temporary + device mapper devices [#285478] + ------------------------------------------------------------------- Mon Jun 11 09:23:24 CEST 2007 - lnussel@suse.de diff --git a/cryptsetup.spec b/cryptsetup.spec index ad6a61b..8b944e7 100644 --- a/cryptsetup.spec +++ b/cryptsetup.spec @@ -19,7 +19,7 @@ License: BSD License and BSD-like, GNU General Public License (GPL) Group: System/Base Autoreqprov: on Version: 1.0.5 -Release: 6 +Release: 8 Summary: Set up dm-crypt based encrypted block devices Source: cryptsetup-1.0.5.tar.bz2 Source1: hashalot-%haver.tar.bz2 @@ -34,6 +34,7 @@ Patch1: cryptsetup-luks-uninitialized.diff Patch2: cryptsetup-luks-implicit-declarations.diff Patch3: cryptsetup-luks-warnings.diff Patch4: cryptsetup-luks-libnostderr.diff +Patch5: cryptsetup-1.0.5-run_udevsettle.patch Patch10: hashalot-fixes.diff Patch11: hashalot-libgcrypt.diff Patch12: hashalot-ctrl-d.diff @@ -87,6 +88,7 @@ Authors: %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 pushd ../hashalot-%haver %patch10 -p1 %patch11 -p1 @@ -183,6 +185,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libcryptsetup.so %changelog +* Thu Jun 21 2007 - mkoenig@suse.de +- run udevsettle to avoid problems with busy temporary + device mapper devices [#285478] * Mon Jun 11 2007 - lnussel@suse.de - rephrase error message (#279169) * Fri Jun 01 2007 - lnussel@suse.de