Hello community, here is the log from the commit of package util-linux for openSUSE:Factory checked in at Fri Jan 9 02:06:31 CET 2009. -------- --- util-linux/util-linux.changes 2008-12-02 12:24:45.000000000 +0100 +++ /mounts/work_src_done/STABLE/util-linux/util-linux.changes 2009-01-07 15:47:17.000000000 +0100 @@ -1,0 +2,6 @@ +Wed Jan 7 15:42:38 CET 2009 - mkoenig@suse.de + +- fix locking problem for external mount helpers when type + is not given [bnc#459839] + +------------------------------------------------------------------- calling whatdependson for head-i586 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ util-linux.spec ++++++ --- /var/tmp/diff_new_pack.rf7805/_old 2009-01-09 02:06:15.000000000 +0100 +++ /var/tmp/diff_new_pack.rf7805/_new 2009-01-09 02:06:15.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package util-linux (Version 2.14.1) # -# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -30,7 +30,7 @@ Group: System/Base AutoReqProv: on Version: 2.14.1 -Release: 10 +Release: 11 Requires: %name-lang = %{version} Summary: A collection of basic system utilities Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux/%name-ng-%version.tar.bz2 @@ -613,6 +613,9 @@ #%endif %changelog +* Wed Jan 07 2009 mkoenig@suse.de +- fix locking problem for external mount helpers when type + is not given [bnc#459839] * Tue Dec 02 2008 mkoenig@suse.de - raw: do not stat the raw devices when binding, since they are created dynamically [bnc#450675] ++++++ util-linux-2.14.1-mount_race.patch ++++++ --- /var/tmp/diff_new_pack.rf7805/_old 2009-01-09 02:06:16.000000000 +0100 +++ /var/tmp/diff_new_pack.rf7805/_new 2009-01-09 02:06:16.000000000 +0100 @@ -1,7 +1,7 @@ Index: util-linux-ng-2.14.1/mount/fstab.c =================================================================== ---- util-linux-ng-2.14.1.orig/mount/fstab.c 2008-11-24 14:26:14.000000000 +0100 -+++ util-linux-ng-2.14.1/mount/fstab.c 2008-11-24 14:45:35.000000000 +0100 +--- util-linux-ng-2.14.1.orig/mount/fstab.c 2008-05-29 01:01:02.000000000 +0200 ++++ util-linux-ng-2.14.1/mount/fstab.c 2009-01-07 12:18:03.000000000 +0100 @@ -773,8 +773,6 @@ update_mtab (const char *dir, struct my_ if (mtab_does_not_exist() || !mtab_is_writable()) return; @@ -22,8 +22,8 @@ Index: util-linux-ng-2.14.1/mount/umount.c =================================================================== ---- util-linux-ng-2.14.1.orig/mount/umount.c 2008-11-24 14:26:14.000000000 +0100 -+++ util-linux-ng-2.14.1/mount/umount.c 2008-11-24 14:46:50.000000000 +0100 +--- util-linux-ng-2.14.1.orig/mount/umount.c 2008-07-02 15:08:50.000000000 +0200 ++++ util-linux-ng-2.14.1/mount/umount.c 2009-01-07 12:50:48.000000000 +0100 @@ -102,6 +102,8 @@ check_special_umountprog(const char *spe if (strlen(type) < 100) { sprintf(umountprog, "/sbin/umount.%s", type); @@ -84,8 +84,8 @@ int Index: util-linux-ng-2.14.1/mount/mount.c =================================================================== ---- util-linux-ng-2.14.1.orig/mount/mount.c 2008-11-24 14:26:14.000000000 +0100 -+++ util-linux-ng-2.14.1/mount/mount.c 2008-11-24 14:46:13.000000000 +0100 +--- util-linux-ng-2.14.1.orig/mount/mount.c 2009-01-07 12:18:03.000000000 +0100 ++++ util-linux-ng-2.14.1/mount/mount.c 2009-01-07 14:40:16.000000000 +0100 @@ -521,8 +521,6 @@ create_mtab (void) { int flags; mntFILE *mfp; @@ -104,7 +104,16 @@ reset_mtab_info(); } -@@ -1004,7 +1000,6 @@ update_mtab_entry(const char *spec, cons +@@ -626,6 +622,8 @@ check_special_mountprog(const char *spec + if (strlen(type) < 100) { + sprintf(mountprog, "/sbin/mount.%s", type); + if (stat(mountprog, &statbuf) == 0) { ++ /* unlock mtab if we need to exec */ ++ unlock_mtab(); + if (verbose) + fflush(stdout); + res = fork(); +@@ -1004,7 +1002,6 @@ update_mtab_entry(const char *spec, cons else { mntFILE *mfp; @@ -112,7 +121,7 @@ mfp = my_setmntent(_PATH_MOUNTED, "a+"); if (mfp == NULL || mfp->mntent_fp == NULL) { int errsv = errno; -@@ -1018,7 +1013,6 @@ update_mtab_entry(const char *spec, cons +@@ -1018,7 +1015,6 @@ update_mtab_entry(const char *spec, cons } } my_endmntent(mfp); @@ -120,7 +129,7 @@ } } my_free(mnt.mnt_fsname); -@@ -1138,12 +1132,15 @@ try_mount_one (const char *spec0, const +@@ -1138,12 +1134,15 @@ try_mount_one (const char *spec0, const mount_retry: block_signals (SIG_BLOCK); @@ -136,7 +145,7 @@ block_signals (SIG_UNBLOCK); res = status; goto out; -@@ -1163,6 +1160,7 @@ mount_retry: +@@ -1163,6 +1162,7 @@ mount_retry: pass); } @@ -144,7 +153,7 @@ block_signals (SIG_UNBLOCK); res = 0; goto out; -@@ -1173,6 +1171,7 @@ mount_retry: +@@ -1173,6 +1173,7 @@ mount_retry: if (loop) del_loop(spec); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org