Compare commits

...
Sign in to create a new pull request.

16 commits

Author SHA1 Message Date
Fedora Release Engineering
dbeb3ad15c dist-git conversion 2010-07-29 14:50:06 +00:00
kzak
ec700b7502 - fix #577947 - need --no-canonicalize option for mount 2010-04-12 18:56:01 +00:00
kzak
cc2529dc64 - fix #581252 - remounting tmpfs fails because of hidden rootcontext= 2010-04-12 13:53:52 +00:00
kzak
ea621fccb0 - fix #570606 - blkid (and related) should be a bit more robust 2010-03-08 12:19:54 +00:00
kzak
fa547b9550 - fix #557831 - blkid detects ext4 fs as minix fs
- fix #494070 - Anaconda tries to mount zfs filesystem as EXT3 and install
    fails
2010-02-17 09:45:17 +00:00
kzak
62111d14ce - fix #547245 - blkid does not recognize Adaptec HostRAID members 2009-12-15 13:39:10 +00:00
kzak
45c4f71208 increment release number, fix changelog 2009-12-10 14:37:50 +00:00
kzak
7aec78fd0d - fix typo in spec file
- add Requires: libblkid and libuuid (bz#531992 comment #38)
2009-12-10 14:25:08 +00:00
kzak
43b042be2b - fix typo in spec file 2009-12-09 20:58:54 +00:00
kzak
eacf3d56ed - fix #536797 - ntfs volume labels are not correct in hal 2009-12-07 09:43:23 +00:00
kzak
7cf2751129 - upgrade to 2.16.2 (removes 7 patches)
ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.16/v2.16.2-Releas
    eNotes
- fix #531992 - not prompted for passphrase
2009-12-07 08:58:40 +00:00
kzak
a2ebc32935 - fix #539325 - fix VIA RAID detection
- fix #541708 - libblkid does not recognize ufs partitions
2009-11-30 11:19:21 +00:00
Bill Nottingham
7dda70690d Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:16:35 +00:00
kzak
b73954c18c - fix #519237 - bash: cannot set terminal process group (-1): Inappropriate
ioctl for device
2009-10-05 15:22:39 +00:00
kzak
cfb90b9408 - #514413 - Extra spaces at the end of CD mount point 2009-10-02 19:24:34 +00:00
Jesse Keating
cb4679ff2e Initialize branch F-12 for util-linux-ng 2009-09-29 07:13:57 +00:00
16 changed files with 560 additions and 226 deletions

View file

@ -1,2 +0,0 @@
util-linux-ng-2.16.tar.bz2
floppy-0.16.tar.bz2

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
util-linux-ng-2.16.2.tar.bz2
floppy-0.16.tar.bz2

View file

@ -1,21 +0,0 @@
# Makefile for source rpm: util-linux-ng
# $Id$
NAME := util-linux-ng
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View file

@ -10,11 +10,18 @@
# /sbin/mount.tmpfs spec dir [-sfnv] [-o options]
#
if ! echo "$@" | grep -q -E '(fs|def|root)?context='; then
con=$(ls --scontext -d "$2" | cut -f 1 -d ' ')
if [ -n "$con" ] && [ "$con" != "?" ] && [ "$con" != "unlabeled" ]; then
# Remount with context mount options is unsupported
# http://bugzilla.redhat.com/show_bug.cgi?id=563267
#
if ! echo "$@" | grep -q -E '\-o.*remount'; then
if ! echo "$@" | grep -q -E '(fs|def|root)?context='; then
con=$(ls --scontext -d "$2" | cut -f 1 -d ' ')
if [ -n "$con" ] && [ "$con" != "?" ] && [ "$con" != "unlabeled" ]; then
exec /bin/mount "$@" -o "rootcontext=\"$con\"" -i -t tmpfs
fi
fi
fi
exec /bin/mount "$@" -i -t tmpfs

View file

@ -1,2 +1,2 @@
9623380641b0c2e0449f5b1ecc567663 util-linux-ng-2.16.tar.bz2
edd1f7a82fd388cc0e1e3d2d1e7ea55a util-linux-ng-2.16.2.tar.bz2
7eeb9a6f7a258174bf0fa80f1370788d floppy-0.16.tar.bz2

View file

@ -1,54 +0,0 @@
From 1f1614f6a89de4b06e1843d0fadbca3f8a5521fe Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Fri, 11 Sep 2009 14:00:50 +0200
Subject: [PATCH 1/2] sfdisk: dump has to be $LANG insensitive
This stupid bug has been introduced by:
commit add5133f4ad5136aac3ce7627e615d14893d0aeb
Author: Pedro Ribeiro <p.m42.ribeiro@gmail.com>
Date: Fri Oct 3 08:52:35 2008 +0200
fdisk: several strings without gettext calls
... so it shows that we need to improve our review process... :-(
Address-Red-Hat-Bug: #522718
Signed-off-by: Karel Zak <kzak@redhat.com>
---
fdisk/sfdisk.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/fdisk/sfdisk.c b/fdisk/sfdisk.c
index 8fae5bb..427cb40 100644
--- a/fdisk/sfdisk.c
+++ b/fdisk/sfdisk.c
@@ -930,8 +930,8 @@ get_disksize(int format) {
static void
out_partition_header(char *dev, int format, struct geometry G) {
if (dump) {
- printf(_("# partition table of %s\n"), dev);
- printf(_("unit: sectors\n\n"));
+ printf("# partition table of %s\n", dev);
+ printf("unit: sectors\n\n");
return;
}
@@ -1059,12 +1059,12 @@ out_partition(char *dev, int format, struct part_desc *p,
size = p->size;
if (dump) {
- printf(_(" start=%9lu"), start);
- printf(_(", size=%9lu"), size);
+ printf(" start=%9lu", start);
+ printf(", size=%9lu", size);
if (p->ptype == DOS_TYPE) {
printf(", Id=%2x", p->p.sys_type);
if (p->p.bootable == 0x80)
- printf(_(", bootable"));
+ printf(", bootable");
}
printf("\n");
return;
--
1.6.2.5

View file

@ -0,0 +1,69 @@
diff -up util-linux-ng-2.16.2/shlibs/blkid/src/probers/adaptec_raid.c.kzak util-linux-ng-2.16.2/shlibs/blkid/src/probers/adaptec_raid.c
--- util-linux-ng-2.16.2/shlibs/blkid/src/probers/adaptec_raid.c.kzak 2009-11-30 12:43:13.000000000 +0100
+++ util-linux-ng-2.16.2/shlibs/blkid/src/probers/adaptec_raid.c 2009-12-15 14:18:10.000000000 +0100
@@ -16,6 +16,7 @@
#include "blkidP.h"
struct adaptec_metadata {
+
uint32_t b0idcode;
uint8_t lunsave[8];
uint16_t sdtype;
@@ -63,13 +64,13 @@ struct adaptec_metadata {
uint32_t fwTestMagic;
uint32_t fwTestSeqNum;
uint8_t fwTestRes[8];
- uint8_t smagic[4];
+ uint32_t smagic;
uint32_t raidtbl;
uint16_t raidline;
uint8_t res9[0xF6];
} __attribute__((packed));
-#define AD_SIGNATURE "DPTM"
+#define AD_SIGNATURE 0x4450544D /* "DPTM" */
#define AD_MAGIC 0x37FC4D1E
static int probe_adraid(blkid_probe pr, const struct blkid_idmag *mag)
@@ -87,7 +88,7 @@ static int probe_adraid(blkid_probe pr,
sizeof(struct adaptec_metadata));
if (!ad)
return -1;
- if (memcmp(ad->smagic, AD_SIGNATURE, sizeof(AD_SIGNATURE)) != 0)
+ if (ad->smagic != be32_to_cpu(AD_SIGNATURE))
return -1;
if (ad->b0idcode != be32_to_cpu(AD_MAGIC))
return -1;
diff -up util-linux-ng-2.16.2/shlibs/blkid/src/probers/highpoint_raid.c.kzak util-linux-ng-2.16.2/shlibs/blkid/src/probers/highpoint_raid.c
--- util-linux-ng-2.16.2/shlibs/blkid/src/probers/highpoint_raid.c.kzak 2009-11-30 12:37:08.000000000 +0100
+++ util-linux-ng-2.16.2/shlibs/blkid/src/probers/highpoint_raid.c 2009-12-15 14:18:10.000000000 +0100
@@ -45,18 +45,25 @@ static int probe_highpoint45x(blkid_prob
}
const struct blkid_idinfo highpoint45x_idinfo = {
- .name = "highpoint_raid_member",
+ .name = "hpt45x_raid_member",
.usage = BLKID_USAGE_RAID,
.probefunc = probe_highpoint45x,
.magics = BLKID_NONE_MAGIC
};
const struct blkid_idinfo highpoint37x_idinfo = {
- .name = "highpoint_raid_member",
+ .name = "hpt37x_raid_member",
.usage = BLKID_USAGE_RAID,
.magics = {
- { .magic = "\xf0\x16\x78\x5a", .len = 4, .kboff = 4 },
- { .magic = "\xfd\x16\x78\x5a", .len = 4, .kboff = 4 },
+ /*
+ * Superblok offset: 4608 bytes (9 sectors)
+ * Magic string offset within superblock: 32 bytes
+ *
+ * kboff = (4608 + 32) / 1024
+ * sboff = (4608 + 32) % kboff
+ */
+ { .magic = "\xf0\x16\x78\x5a", .len = 4, .kboff = 4, .sboff = 544 },
+ { .magic = "\xfd\x16\x78\x5a", .len = 4, .kboff = 4, .sboff = 544 },
{ NULL }
}
};

View file

@ -0,0 +1,41 @@
From: Scott James Remnant <scott@ubuntu.com>
Subject: [PATCH] libblkid: return first detected crypto device
Crypto devices may sometimes have multiple additional prober matches,
however just like RAID, there's no danger of activating the wrong one
since special help is needed to activate the block device before it
can be used.
Thus modify blkid_do_safeprobe() to break out of the loop when a
crypto device is detected, as it does already for RAID.
[kzak@redhar.com: - backport to 2.16.2 for Fedora-12]
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
diff -up util-linux-ng-2.16.2/shlibs/blkid/src/probe.c.kzak util-linux-ng-2.16.2/shlibs/blkid/src/probe.c
--- util-linux-ng-2.16.2/shlibs/blkid/src/probe.c.kzak 2009-12-07 09:44:46.000000000 +0100
+++ util-linux-ng-2.16.2/shlibs/blkid/src/probe.c 2009-12-07 09:47:12.000000000 +0100
@@ -538,9 +538,9 @@ int blkid_do_probe(blkid_probe pr)
* (cannot be used in while()) and checks for ambivalen results (more
* filesystems on the device) -- in such case returns -2.
*
- * The function does not check for filesystems when a RAID signature is
- * detected. The function also does not check for collision between RAIDs. The
- * first detected RAID is returned.
+ * The function does not check for filesystems when a RAID or crypto signature
+ * is detected. The function also does not check for collision between RAIDs
+ * and crypto devices. The first detected RAID or crypto device is returned.
*/
int blkid_do_safeprobe(blkid_probe pr)
{
@@ -558,7 +558,7 @@ int blkid_do_safeprobe(blkid_probe pr)
}
count++;
- if (idinfos[pr->idx]->usage & BLKID_USAGE_RAID)
+ if (idinfos[pr->idx]->usage & (BLKID_USAGE_RAID | BLKID_USAGE_CRYPTO))
break;
if (!(idinfos[pr->idx]->flags & BLKID_IDINFO_TOLERANT))
intol++;

View file

@ -0,0 +1,103 @@
diff -up util-linux-ng-2.16.2/shlibs/blkid/src/probers/minix.c.kzak util-linux-ng-2.16.2/shlibs/blkid/src/probers/minix.c
--- util-linux-ng-2.16.2/shlibs/blkid/src/probers/minix.c.kzak 2009-11-30 12:37:08.000000000 +0100
+++ util-linux-ng-2.16.2/shlibs/blkid/src/probers/minix.c 2010-03-08 13:11:54.000000000 +0100
@@ -9,22 +9,96 @@
* GNU Lesser General Public License.
*/
+#include <string.h>
#include "blkidP.h"
+struct minix_super_block {
+ uint16_t s_ninodes;
+ uint16_t s_nzones;
+ uint16_t s_imap_blocks;
+ uint16_t s_zmap_blocks;
+ uint16_t s_firstdatazone;
+ uint16_t s_log_zone_size;
+ uint32_t s_max_size;
+ uint16_t s_magic;
+ uint16_t s_state;
+ uint32_t s_zones;
+};
+
+struct minix3_super_block {
+ uint32_t s_ninodes;
+ uint16_t s_pad0;
+ uint16_t s_imap_blocks;
+ uint16_t s_zmap_blocks;
+ uint16_t s_firstdatazone;
+ uint16_t s_log_zone_size;
+ uint16_t s_pad1;
+ uint32_t s_max_size;
+ uint32_t s_zones;
+ uint16_t s_magic;
+ uint16_t s_pad2;
+ uint16_t s_blocksize;
+ uint8_t s_disk_version;
+};
+
+#define MINIX_BLOCK_SIZE_BITS 10
+#define MINIX_BLOCK_SIZE (1 << MINIX_BLOCK_SIZE_BITS)
+
static int probe_minix(blkid_probe pr, const struct blkid_idmag *mag)
{
+ unsigned char *ext;
+ int version;
+
/* for more details see magic strings below */
switch(mag->magic[1]) {
case '\023':
- blkid_probe_set_version(pr, "1");
+ version = 1;
break;
case '\044':
- blkid_probe_set_version(pr, "2");
+ version = 2;
break;
case '\115':
- blkid_probe_set_version(pr, "3");
+ version = 3;
break;
+ default:
+ return -1;
+ break;
+ }
+
+ if (version <= 2) {
+ struct minix_super_block *sb;
+ uint32_t zones;
+
+ sb = blkid_probe_get_sb(pr, mag, struct minix_super_block);
+ if (!sb || sb->s_imap_blocks == 0 || sb->s_zmap_blocks == 0)
+ return -1;
+
+ zones = version == 2 ? sb->s_zones : sb->s_nzones;
+
+ /* sanity checks to be sure that the FS is really minix */
+ if (sb->s_imap_blocks * MINIX_BLOCK_SIZE * 8 < sb->s_ninodes + 1)
+ return -1;
+ if (sb->s_zmap_blocks * MINIX_BLOCK_SIZE * 8 < zones - sb->s_firstdatazone + 1)
+ return -1;
+
+ } else if (version == 3) {
+ struct minix3_super_block *sb;
+
+ sb = blkid_probe_get_sb(pr, mag, struct minix3_super_block);
+ if (!sb || sb->s_imap_blocks == 0 || sb->s_zmap_blocks == 0)
+ return -1;
+
}
+
+ /* unfortunately, some parts of ext3 is sometimes possible to
+ * interpreted as minix superblock. So check for extN magic
+ * string. (For extN magic string and offsets see ext.c.)
+ */
+ ext = blkid_probe_get_buffer(pr, 0x400 + 0x38, 2);
+ if (ext && memcmp(ext, "\123\357", 2) == 0)
+ return -1;
+
+ blkid_probe_sprintf_version(pr, "%d", version);
return 0;
}

View file

@ -0,0 +1,65 @@
Backport from upstream to Fedora-12, original patch:
commit 832b3f2eb6a6c5f2e7d8db422767404320e45ced
Author: Karel Zak <kzak@redhat.com>
Date: Fri Nov 13 00:10:48 2009 +0100
libblkid: fix NTFS non-ASCII labels
Addresses-Red-Hat-Bug: #536797
Signed-off-by: Karel Zak <kzak@redhat.com>
diff -up util-linux-ng-2.16.2/shlibs/blkid/src/probers/ntfs.c.kzak util-linux-ng-2.16.2/shlibs/blkid/src/probers/ntfs.c
--- util-linux-ng-2.16.2/shlibs/blkid/src/probers/ntfs.c.kzak 2009-11-30 12:43:13.000000000 +0100
+++ util-linux-ng-2.16.2/shlibs/blkid/src/probers/ntfs.c 2009-12-07 10:34:10.000000000 +0100
@@ -65,10 +65,9 @@ static int probe_ntfs(blkid_probe pr, co
struct ntfs_super_block *ns;
struct master_file_table_record *mft;
struct file_attribute *attr;
- unsigned char label_str[129], *cp;
int bytes_per_sector, sectors_per_cluster;
int mft_record_size, attr_off, attr_len;
- unsigned int i, attr_type, val_len;
+ unsigned int attr_type, val_len;
int val_off;
uint64_t nr_clusters;
blkid_loff_t off;
@@ -128,7 +127,6 @@ static int probe_ntfs(blkid_probe pr, co
mft = (struct master_file_table_record *) buf_mft;
attr_off = le16_to_cpu(mft->attrs_offset);
- label_str[0] = 0;
while (1) {
attr = (struct file_attribute *) (buf_mft + attr_off);
@@ -147,16 +145,8 @@ static int probe_ntfs(blkid_probe pr, co
break;
if (attr_type == MFT_RECORD_ATTR_VOLUME_NAME) {
- if (val_len > sizeof(label_str))
- val_len = sizeof(label_str)-1;
-
- for (i=0, cp=label_str; i < val_len; i+=2,cp++) {
- val = ((uint8_t *) attr) + val_off + i;
- *cp = val[0];
- if (val[1])
- *cp = '?';
- }
- *cp = 0;
+ val = ((uint8_t *) attr) + val_off;
+ blkid_probe_set_utf8label(pr, val, val_len, BLKID_ENC_UTF16LE);
}
}
@@ -164,8 +154,6 @@ static int probe_ntfs(blkid_probe pr, co
(unsigned char *) &ns->volume_serial,
sizeof(ns->volume_serial),
"%016" PRIX64, le64_to_cpu(ns->volume_serial));
- if (label_str[0])
- blkid_probe_set_label(pr, label_str, strlen((char *)label_str));
return 0;
}

View file

@ -1,26 +0,0 @@
From 71cd5d8a775d98e93f7583210a5b53c52b4ec34f Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Mon, 14 Sep 2009 10:24:07 +0200
Subject: [PATCH] libblkid: fix typo (swsupend -> swsuspend)
Signed-off-by: Karel Zak <kzak@redhat.com>
---
shlibs/blkid/src/probers/swap.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/shlibs/blkid/src/probers/swap.c b/shlibs/blkid/src/probers/swap.c
index 86eb94c..c289488 100644
--- a/shlibs/blkid/src/probers/swap.c
+++ b/shlibs/blkid/src/probers/swap.c
@@ -118,7 +118,7 @@ const struct blkid_idinfo swap_idinfo =
const struct blkid_idinfo swsuspend_idinfo =
{
- .name = "swsupend",
+ .name = "swsuspend",
.usage = BLKID_USAGE_OTHER,
.probefunc = probe_swsuspend,
.magics =
--
1.6.2.5

View file

@ -0,0 +1,62 @@
diff -up util-linux-ng-2.16.2/shlibs/blkid/src/probers/zfs.c.kzak util-linux-ng-2.16.2/shlibs/blkid/src/probers/zfs.c
--- util-linux-ng-2.16.2/shlibs/blkid/src/probers/zfs.c.kzak 2009-11-30 12:43:13.000000000 +0100
+++ util-linux-ng-2.16.2/shlibs/blkid/src/probers/zfs.c 2010-02-17 10:31:33.000000000 +0100
@@ -23,21 +23,22 @@ struct zfs_uberblock {
uint64_t ub_txg; /* txg of last sync */
uint64_t ub_guid_sum; /* sum of all vdev guids */
uint64_t ub_timestamp; /* UTC time of last sync */
- /*blkptr_t ub_rootbp;*/ /* MOS objset_phys_t */
+ char ub_rootbp; /* MOS objset_phys_t */
} __attribute__((packed));
static int probe_zfs(blkid_probe pr, const struct blkid_idmag *mag)
{
struct zfs_uberblock *ub;
- int swab_endian;
uint64_t spa_version;
ub = blkid_probe_get_sb(pr, mag, struct zfs_uberblock);
if (!ub)
return -1;
- swab_endian = (ub->ub_magic == swab64(UBERBLOCK_MAGIC));
- spa_version = swab_endian ? swab64(ub->ub_version) : ub->ub_version;
+ if (ub->ub_magic == be64_to_cpu(UBERBLOCK_MAGIC))
+ spa_version = be64_to_cpu(ub->ub_version);
+ else
+ spa_version = le64_to_cpu(ub->ub_version);
blkid_probe_sprintf_version(pr, "%" PRIu64, spa_version);
#if 0
@@ -56,10 +57,19 @@ const struct blkid_idinfo zfs_idinfo =
.probefunc = probe_zfs,
.magics =
{
- { .magic = "\0\0\x02\xf5\xb0\x07\xb1\x0c", .len = 8, .kboff = 8 },
- { .magic = "\x1c\xb1\x07\xb0\xf5\x02\0\0", .len = 8, .kboff = 8 },
- { .magic = "\0\0\x02\xf5\xb0\x07\xb1\x0c", .len = 8, .kboff = 264 },
- { .magic = "\x0c\xb1\x07\xb0\xf5\x02\0\0", .len = 8, .kboff = 264 },
+ /* ZFS has 128 root blocks (#4 is the first used), check only 6 of them */
+ { .magic = "\0\0\0\0\0\xba\xb1\x0c", .len = 8, .kboff = 128 },
+ { .magic = "\x0c\xb1\xba\0\0\0\0\0", .len = 8, .kboff = 128 },
+ { .magic = "\0\0\0\0\0\xba\xb1\x0c", .len = 8, .kboff = 132 },
+ { .magic = "\x0c\xb1\xba\0\0\0\0\0", .len = 8, .kboff = 132 },
+ { .magic = "\0\0\0\0\0\xba\xb1\x0c", .len = 8, .kboff = 136 },
+ { .magic = "\x0c\xb1\xba\0\0\0\0\0", .len = 8, .kboff = 136 },
+ { .magic = "\0\0\0\0\0\xba\xb1\x0c", .len = 8, .kboff = 384 },
+ { .magic = "\x0c\xb1\xba\0\0\0\0\0", .len = 8, .kboff = 384 },
+ { .magic = "\0\0\0\0\0\xba\xb1\x0c", .len = 8, .kboff = 388 },
+ { .magic = "\x0c\xb1\xba\0\0\0\0\0", .len = 8, .kboff = 388 },
+ { .magic = "\0\0\0\0\0\xba\xb1\x0c", .len = 8, .kboff = 392 },
+ { .magic = "\x0c\xb1\xba\0\0\0\0\0", .len = 8, .kboff = 392 },
{ NULL }
}
};
diff -up util-linux-ng-2.16.2/tests/expected/blkid/low-probe-zfs.kzak util-linux-ng-2.16.2/tests/expected/blkid/low-probe-zfs
--- util-linux-ng-2.16.2/tests/expected/blkid/low-probe-zfs.kzak 2009-10-16 22:50:03.000000000 +0200
+++ util-linux-ng-2.16.2/tests/expected/blkid/low-probe-zfs 2010-02-17 10:31:33.000000000 +0100
@@ -1,3 +1,3 @@
ID_FS_TYPE=zfs
ID_FS_USAGE=filesystem
-ID_FS_VERSION=1
+ID_FS_VERSION=8

View file

@ -1,57 +0,0 @@
From e94e99523d8a3d0218fe16b0a7a2c5886ccbc652 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Sun, 23 Aug 2009 20:33:10 +0200
Subject: [PATCH] libblkid: add *.ko.gz support to modules.dep parser
Address-Red-Hat-Bug: #518572
Signed-off-by: Karel Zak <kzak@redhat.com>
---
shlibs/blkid/src/probers/ext.c | 18 +++++++++---------
1 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/shlibs/blkid/src/probers/ext.c b/shlibs/blkid/src/probers/ext.c
index a4d35d1..c27411d 100644
--- a/shlibs/blkid/src/probers/ext.c
+++ b/shlibs/blkid/src/probers/ext.c
@@ -224,8 +224,8 @@ static int check_for_modules(const char *fs_name)
#ifdef __linux__
struct utsname uts;
FILE *f;
- char buf[1024], *cp, *t;
- int i;
+ char buf[1024], *cp;
+ int namesz;
if (uname(&uts))
return 0;
@@ -234,6 +234,9 @@ static int check_for_modules(const char *fs_name)
f = fopen(buf, "r");
if (!f)
return 0;
+
+ namesz = strlen(fs_name);
+
while (!feof(f)) {
if (!fgets(buf, sizeof(buf), f))
break;
@@ -244,13 +247,10 @@ static int check_for_modules(const char *fs_name)
if ((cp = strrchr(buf, '/')) == NULL)
continue;
cp++;
- i = strlen(cp);
- if (i > 3) {
- t = cp + i - 3;
- if (!strcmp(t, ".ko"))
- *t = 0;
- }
- if (!strcmp(cp, fs_name)) {
+
+ if (!strncmp(cp, fs_name, namesz) &&
+ (!strcmp(cp + namesz, ".ko") ||
+ !strcmp(cp + namesz, ".ko.gz"))) {
fclose(f);
return 1;
}
--
1.6.2.5

View file

@ -1,51 +0,0 @@
From 92cf3ab964266603cf36272d0eec96cd07fa083c Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Thu, 13 Aug 2009 21:55:43 +0200
Subject: [PATCH] libblkid: fix ext2 detection on systems with ext4 only
Address-Red-Hat-Bug: #513104
Signed-off-by: Karel Zak <kzak@redhat.com>
---
shlibs/blkid/src/probers/ext.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/shlibs/blkid/src/probers/ext.c b/shlibs/blkid/src/probers/ext.c
index 671e556..a4d35d1 100644
--- a/shlibs/blkid/src/probers/ext.c
+++ b/shlibs/blkid/src/probers/ext.c
@@ -483,11 +483,6 @@ static int probe_ext4(blkid_probe pr, const struct blkid_idmag *mag)
if (fi & EXT3_FEATURE_INCOMPAT_JOURNAL_DEV)
return -BLKID_ERR_PARAM;
- /* Ext4 has at least one feature which ext3 doesn't understand */
- if (!(frc & EXT3_FEATURE_RO_COMPAT_UNSUPPORTED) &&
- !(fi & EXT3_FEATURE_INCOMPAT_UNSUPPORTED))
- return -BLKID_ERR_PARAM;
-
/*
* If the filesystem does not have a journal and ext2 is not
* present, then force this to be detected as an ext2
@@ -498,6 +493,12 @@ static int probe_ext4(blkid_probe pr, const struct blkid_idmag *mag)
get_linux_version() >= EXT4_SUPPORTS_EXT2)
goto force_ext4;
+ /* Ext4 has at least one feature which ext3 doesn't understand */
+ if (!(frc & EXT3_FEATURE_RO_COMPAT_UNSUPPORTED) &&
+ !(fi & EXT3_FEATURE_INCOMPAT_UNSUPPORTED))
+ return -BLKID_ERR_PARAM;
+
+force_ext4:
/*
* If the filesystem is a OK for use by in-development
* filesystem code, and ext4dev is supported or ext4 is not
@@ -513,7 +514,6 @@ static int probe_ext4(blkid_probe pr, const struct blkid_idmag *mag)
return -BLKID_ERR_PARAM;
}
-force_ext4:
ext_get_info(pr, 4, es);
return 0;
}
--
1.6.2.5

View file

@ -0,0 +1,148 @@
diff -up util-linux-ng-2.16.2/mount/mount.8.kzak util-linux-ng-2.16.2/mount/mount.8
--- util-linux-ng-2.16.2/mount/mount.8.kzak 2009-11-30 15:54:35.000000000 +0100
+++ util-linux-ng-2.16.2/mount/mount.8 2010-04-12 17:32:22.000000000 +0200
@@ -439,6 +439,14 @@ This is necessary for example when
.I /etc
is on a read-only filesystem.
.TP
+.B \-\-no\-canonicalize
+Don't canonicalize paths. The mount command canonicalizes all paths
+(from command line or fstab) and stores canonicalized paths to the
+.IR /etc/mtab
+file. This option can be used together with the
+.B \-f
+flag for already canonicalized absolut paths.
+.TP
.BI \-p " num"
In case of a loop mount with encryption, read the passphrase from
file descriptor
diff -up util-linux-ng-2.16.2/mount/mount.c.kzak util-linux-ng-2.16.2/mount/mount.c
--- util-linux-ng-2.16.2/mount/mount.c.kzak 2010-04-12 17:40:39.000000000 +0200
+++ util-linux-ng-2.16.2/mount/mount.c 2010-04-12 17:34:34.000000000 +0200
@@ -1878,6 +1878,7 @@ static struct option longopts[] = {
{ "make-rslave", 0, 0, 141 },
{ "make-rprivate", 0, 0, 142 },
{ "make-runbindable", 0, 0, 143 },
+ { "no-canonicalize", 0, 0, 144 },
{ "internal-only", 0, 0, 'i' },
{ NULL, 0, 0, 0 }
};
@@ -2170,7 +2171,9 @@ main(int argc, char *argv[]) {
case 143:
mounttype = (MS_UNBINDABLE | MS_REC);
break;
-
+ case 144:
+ nocanonicalize = 1;
+ break;
case '?':
default:
usage (stderr, EX_USAGE);
@@ -2209,7 +2212,8 @@ main(int argc, char *argv[]) {
if (restricted &&
(types || options || readwrite || nomtab || mount_all ||
- fake || mounttype || (argc + specseen) != 1)) {
+ nocanonicalize || fake || mounttype || (argc + specseen) != 1)) {
+
die (EX_USAGE, _("mount: only root can do that"));
}
diff -up util-linux-ng-2.16.2/mount/sundries.c.kzak util-linux-ng-2.16.2/mount/sundries.c
--- util-linux-ng-2.16.2/mount/sundries.c.kzak 2009-11-30 15:42:33.000000000 +0100
+++ util-linux-ng-2.16.2/mount/sundries.c 2010-04-12 17:29:49.000000000 +0200
@@ -21,6 +21,7 @@
int mount_quiet;
int verbose;
+int nocanonicalize;
char *progname;
char *
@@ -270,9 +271,9 @@ canonicalize_spec (const char *path)
{
char *res;
- if (path == NULL)
+ if (!path)
return NULL;
- if (is_pseudo_fs(path))
+ if (nocanonicalize || is_pseudo_fs(path))
return xstrdup(path);
res = canonicalize_path(path);
@@ -283,8 +284,14 @@ canonicalize_spec (const char *path)
char *canonicalize (const char *path)
{
- char *res = canonicalize_path(path);
+ char *res;
+ if (!path)
+ return NULL;
+ else if (nocanonicalize)
+ return xstrdup(path);
+
+ res = canonicalize_path(path);
if (!res)
die(EX_SYSERR, _("not enough memory"));
return res;
diff -up util-linux-ng-2.16.2/mount/sundries.h.kzak util-linux-ng-2.16.2/mount/sundries.h
--- util-linux-ng-2.16.2/mount/sundries.h.kzak 2009-10-16 22:50:03.000000000 +0200
+++ util-linux-ng-2.16.2/mount/sundries.h 2010-04-12 17:29:49.000000000 +0200
@@ -16,6 +16,7 @@
/* global mount, umount, and losetup variables */
extern int mount_quiet;
extern int verbose;
+extern int nocanonicalize;
extern char *progname;
#define streq(s, t) (strcmp ((s), (t)) == 0)
diff -up util-linux-ng-2.16.2/mount/umount.8.kzak util-linux-ng-2.16.2/mount/umount.8
--- util-linux-ng-2.16.2/mount/umount.8.kzak 2009-10-16 22:50:03.000000000 +0200
+++ util-linux-ng-2.16.2/mount/umount.8 2010-04-12 17:34:44.000000000 +0200
@@ -119,6 +119,10 @@ Lazy unmount. Detach the filesystem from
and cleanup all references to the filesystem as soon as it is not busy
anymore.
(Requires kernel 2.4.11 or later.)
+.IP "\fB\-\-no\-canonicalize\fP"
+Don't canonicalize paths. For more details about this option see the
+.B mount(8)
+man page.
.SH "THE LOOP DEVICE"
The
diff -up util-linux-ng-2.16.2/mount/umount.c.kzak util-linux-ng-2.16.2/mount/umount.c
--- util-linux-ng-2.16.2/mount/umount.c.kzak 2009-10-16 22:50:03.000000000 +0200
+++ util-linux-ng-2.16.2/mount/umount.c 2010-04-12 17:34:44.000000000 +0200
@@ -388,6 +388,8 @@ static struct option longopts[] =
{ "version", 0, 0, 'V' },
{ "read-only", 0, 0, 'r' },
{ "types", 1, 0, 't' },
+
+ { "no-canonicalize", 0, 0, 144 },
{ NULL, 0, 0, 0 }
};
@@ -672,7 +674,10 @@ main (int argc, char *argv[]) {
types = optarg;
break;
case 'i':
- external_allowed = 0;
+ external_allowed = 0;
+ break;
+ case 144:
+ nocanonicalize = 1;
break;
case 0:
break;
@@ -691,7 +696,8 @@ main (int argc, char *argv[]) {
}
}
- if (restricted && (all || types || nomtab || force || remount)) {
+ if (restricted &&
+ (all || types || nomtab || force || remount || nocanonicalize)) {
die (2, _("umount: only root can do that"));
}

View file

@ -1,8 +1,8 @@
### Header
Summary: A collection of basic system utilities
Name: util-linux-ng
Version: 2.16
Release: 10%{?dist}
Version: 2.16.2
Release: 9%{?dist}
License: GPLv2 and GPLv2+ and BSD with advertising and Public Domain
Group: System Environment/Base
URL: ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng
@ -75,6 +75,8 @@ Requires(post): /sbin/install-info
Requires(post): coreutils
Requires: pam >= 1.0.90, /etc/pam.d/system-auth
Requires: audit-libs >= 1.0.6
Requires: libuuid = %{version}-%{release}
Requires: libblkid = %{version}-%{release}
%if %{include_raw}
Requires: udev
%endif
@ -105,15 +107,19 @@ Patch7: util-linux-ng-2.13-login-lastlog.patch
Patch8: util-linux-ng-2.15-ipcs-32bit.patch
### Upstream patches
###
# 513104 - blkid returns no fstype for ext2 device when ext2 module not loaded
Patch9: util-linux-ng-2.16-libblkid-ext2.patch
# 518572 - blkid requires ext2.ko to be decompressed on installation media
Patch10: util-linux-ng-2.16-libblkid-compression.patch
# 522718 - sfdisk -d /dev/xxx | sfdisk --force /dev/yyy fails when LANG is set
Patch11: util-linux-ng-2.14-sfdisk-dump.patch
# Swsuspend does not work
Patch12: util-linux-ng-2.16-blkid-swsuspend.patch
# 531992 - not prompted for passphrase
Patch9: util-linux-ng-2.16-blkid-crypto.patch
# 536797 - ntfs volume labels are not correct in hal
Patch10: util-linux-ng-2.16-blkid-ntfs.patch
# 547245 - blkid does not recognize Adaptec HostRAID members
Patch11: util-linux-ng-2.16-blkid-ataraid.patch
# 557831 - blkid detects ext4 fs as minix fs
# 570606 - blkid (and related) should be a bit more robust
Patch12: util-linux-ng-2.16-blkid-minix.patch
# 494070 - Anaconda tries to mount zfs filesystem as EXT3 and install fails
Patch13: util-linux-ng-2.16-blkid-zfs.patch
# 577947 - need --no-canonicalize option for mount
Patch14: util-linux-ng-2.16-mount-nocanonicalize.patch
%description
The util-linux-ng package contains a large variety of low-level system
@ -212,6 +218,8 @@ cp %{SOURCE8} %{SOURCE9} .
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%build
unset LINGUAS || :
@ -722,6 +730,46 @@ fi
%changelog
* Mon Apr 12 2010 Karel Zak <kzak@redhat.com> 2.16.2-9
- fix #577947 - need --no-canonicalize option for mount
* Mon Apr 12 2010 Karel Zak <kzak@redhat.com> 2.16.2-8
- fix #581252 - remounting tmpfs fails because of hidden rootcontext=
* Mon Mar 8 2010 Karel Zak <kzak@redhat.com> 2.16.2-7
- fix #570606 - blkid (and related) should be a bit more robust
* Wed Feb 17 2010 Karel Zak <kzak@redhat.com> 2.16.2-6
- fix #557831 - blkid detects ext4 fs as minix fs
- fix #494070 - Anaconda tries to mount zfs filesystem as EXT3 and install fails
* Tue Dec 15 2009 Karel Zak <kzak@redhat.com> 2.16.2-5
- fix #547245 - blkid does not recognize Adaptec HostRAID members
* Thu Dec 10 2009 Karel Zak <kzak@redhat.com> 2.16.2-4
- add Requires: libblkid and libuuid (bz#531992 comment #38)
* Wed Dec 9 2009 Karel Zak <kzak@redhat.com> 2.16.2-3
- fix typo in spec file
* Mon Dec 7 2009 Karel Zak <kzak@redhat.com> 2.16.2-2
- fix #536797 - ntfs volume labels are not correct in hal
* Mon Dec 7 2009 Karel Zak <kzak@redhat.com> 2.16.2-1
- upgrade to 2.16.2 (removes 7 patches)
ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.16/v2.16.2-ReleaseNotes
- fix #531992 - not prompted for passphrase
* Mon Nov 30 2009 Karel Zak <kzak@redhat.com> 2.16-10.3
- fix #539325 - fix VIA RAID detection
- fix #541708 - libblkid does not recognize ufs partitions
* Mon Oct 5 2009 Karel Zak <kzak@redhat.com> 2.16-10.2
- fix #519237 - bash: cannot set terminal process group (-1): Inappropriate ioctl for device
* Fri Oct 2 2009 Karel Zak <kzak@redhat.com> 2.16-10.1
- #514413 - Extra spaces at the end of CD mount point
* Wed Sep 16 2009 Tomas Mraz <tmraz@redhat.com> - 2.16-10
- use password-auth common PAM configuration instead of system-auth and
drop pam_console.so call from the remote PAM config file