[arch-commits] Commit in util-linux-ng/trunk (3 files)
Tobias Powalowski
tpowa at archlinux.org
Mon Aug 2 14:22:20 UTC 2010
Date: Monday, August 2, 2010 @ 10:22:19
Author: tpowa
Revision: 86506
upgpkg: util-linux-ng 2.18-3
added nilfs2 support and fixed cfdisk partition changer
Added:
util-linux-ng/trunk/util-linux-ng-cfdisk.patch
util-linux-ng/trunk/util-linux-ng-nilfs2.patch
Modified:
util-linux-ng/trunk/PKGBUILD
----------------------------+
PKGBUILD | 14 +-
util-linux-ng-cfdisk.patch | 57 ++++++++
util-linux-ng-nilfs2.patch | 276 +++++++++++++++++++++++++++++++++++++++++++
3 files changed, 344 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2010-08-02 12:41:02 UTC (rev 86505)
+++ PKGBUILD 2010-08-02 14:22:19 UTC (rev 86506)
@@ -2,7 +2,7 @@
# Maintainer: judd <jvinet at zeroflux.org>
pkgname=util-linux-ng
pkgver=2.18
-pkgrel=2
+pkgrel=3
pkgdesc="Miscellaneous system utilities for Linux"
url="http://userweb.kernel.org/~kzak/util-linux-ng/"
arch=('i686' 'x86_64')
@@ -14,11 +14,15 @@
license=('GPL2')
options=('!libtool')
source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v2.18/${pkgname}-${pkgver}.tar.bz2
- fix-findmnt.patch)
+ fix-findmnt.patch
+ util-linux-ng-nilfs2.patch
+ util-linux-ng-cfdisk.patch)
optdepends=('perl: for chkdupexe support')
install=util-linux-ng.install
md5sums=('2f5f71e6af969d041d73ab778c141a77'
- '7346673932b165faadde2fa2a9c1cd3a')
+ '7346673932b165faadde2fa2a9c1cd3a'
+ 'aa1f210aa22363605363b7b14b8f7a78'
+ 'e6d9309d44c258b25a7fb0b70f94f94e')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -27,6 +31,10 @@
mkdir -p "${pkgdir}/var/lib/hwclock" || return 1
# fix findmnt
patch -p1 -i "${srcdir}/fix-findmnt.patch"
+ # add nilfs2 support, included in next upstream release
+ patch -Np1 -i "${srcdir}/util-linux-ng-nilfs2.patch"
+ # fix cfdisk partition changing, included in next upstream release
+ patch -Np1 -i "${srcdir}/util-linux-ng-cfdisk.patch"
autoreconf || return 1
automake || return 1
Added: util-linux-ng-cfdisk.patch
===================================================================
--- util-linux-ng-cfdisk.patch (rev 0)
+++ util-linux-ng-cfdisk.patch 2010-08-02 14:22:19 UTC (rev 86506)
@@ -0,0 +1,57 @@
+From 54a0fe298b4d6d948cffbd6fbbbe7dbabc9a6bb1 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak at redhat.com>
+Date: Mon, 19 Jul 2010 22:52:58 +0200
+Subject: [PATCH] cfdisk: get_string not calculating correct limits
+
+Reported-by: James L. Hammons <jlhamm at acm.org>
+Signed-off-by: Karel Zak <kzak at redhat.com>
+---
+ fdisk/cfdisk.c | 11 ++++++++---
+ 1 files changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/fdisk/cfdisk.c b/fdisk/cfdisk.c
+index 7fa0b19..e7955fe 100644
+--- a/fdisk/cfdisk.c
++++ b/fdisk/cfdisk.c
+@@ -421,6 +421,11 @@ fdexit(int ret) {
+ exit(ret);
+ }
+
++/*
++ * Note that @len is size of @str buffer.
++ *
++ * Returns number of read bytes (without \0).
++ */
+ static int
+ get_string(char *str, int len, char *def) {
+ size_t cells = 0, i = 0;
+@@ -472,7 +477,7 @@ get_string(char *str, int len, char *def) {
+ break;
+ default:
+ #if defined(HAVE_LIBNCURSESW) && defined(HAVE_WIDECHAR)
+- if (i < len && iswprint(c)) {
++ if (i + 1 < len && iswprint(c)) {
+ wchar_t wc = (wchar_t) c;
+ char s[MB_CUR_MAX + 1];
+ int sz = wctomb(s, wc);
+@@ -492,7 +497,7 @@ get_string(char *str, int len, char *def) {
+ putchar(BELL);
+ }
+ #else
+- if (i < len && isprint(c)) {
++ if (i + 1 < len && isprint(c)) {
+ mvaddch(y, x + cells, c);
+ if (use_def) {
+ clrtoeol();
+@@ -2405,7 +2410,7 @@ change_id(int i) {
+
+ sprintf(def, "%02X", new_id);
+ mvaddstr(COMMAND_LINE_Y, COMMAND_LINE_X, _("Enter filesystem type: "));
+- if ((len = get_string(id, 2, def)) <= 0 && len != GS_DEFAULT)
++ if ((len = get_string(id, 3, def)) <= 0 && len != GS_DEFAULT)
+ return;
+
+ if (len != GS_DEFAULT) {
+--
+1.7.2.1
+
Added: util-linux-ng-nilfs2.patch
===================================================================
--- util-linux-ng-nilfs2.patch (rev 0)
+++ util-linux-ng-nilfs2.patch 2010-08-02 14:22:19 UTC (rev 86506)
@@ -0,0 +1,276 @@
+From b44b8600d4096de8203c1fb0702bbc95ee51017f Mon Sep 17 00:00:00 2001
+From: Jiro SEKIBA <jir at unicus.jp>
+Date: Tue, 13 Jul 2010 09:12:56 +0200
+Subject: [PATCH] libblkid: add nilfs2 filesystem superblock probe
+
+This patch implements nilfs2_idinfo to proble nilfs2 partition.
+The patch probes uuid, label, version and verify crc check sum of
+superblock.
+
+Signed-off-by: Jiro SEKIBA <jir at unicus.jp>
+Signed-off-by: Karel Zak <kzak at redhat.com>
+---
+ shlibs/blkid/src/superblocks/Makefile.am | 1 +
+ shlibs/blkid/src/superblocks/nilfs.c | 120 ++++++++++++++++++++++++++++
+ shlibs/blkid/src/superblocks/superblocks.c | 1 +
+ shlibs/blkid/src/superblocks/superblocks.h | 1 +
+ 4 files changed, 123 insertions(+), 0 deletions(-)
+ create mode 100644 shlibs/blkid/src/superblocks/nilfs.c
+
+diff --git a/shlibs/blkid/src/superblocks/Makefile.am b/shlibs/blkid/src/superblocks/Makefile.am
+index 39b074b..1501fab 100644
+--- a/shlibs/blkid/src/superblocks/Makefile.am
++++ b/shlibs/blkid/src/superblocks/Makefile.am
+@@ -47,4 +47,5 @@ libblkid_superblocks_la_SOURCES = \
+ drbd.c \
+ vmfs.c \
+ befs.c \
++ nilfs.c \
+ exfat.c
+diff --git a/shlibs/blkid/src/superblocks/nilfs.c b/shlibs/blkid/src/superblocks/nilfs.c
+new file mode 100644
+index 0000000..c7aba35
+--- /dev/null
++++ b/shlibs/blkid/src/superblocks/nilfs.c
+@@ -0,0 +1,120 @@
++/*
++ * Copyright (C) 2010 by Jiro SEKIBA <jir at unicus.jp>
++ *
++ * This file may be redistributed under the terms of the
++ * GNU Lesser General Public License
++ */
++#include <stddef.h>
++#include <string.h>
++
++#include "superblocks.h"
++#include "crc32.h"
++
++struct nilfs_super_block {
++ uint32_t s_rev_level;
++ uint16_t s_minor_rev_level;
++ uint16_t s_magic;
++
++ uint16_t s_bytes;
++
++ uint16_t s_flags;
++ uint32_t s_crc_seed;
++ uint32_t s_sum;
++
++ uint32_t s_log_block_size;
++
++ uint64_t s_nsegments;
++ uint64_t s_dev_size;
++ uint64_t s_first_data_block;
++ uint32_t s_blocks_per_segment;
++ uint32_t s_r_segments_percentage;
++
++ uint64_t s_last_cno;
++ uint64_t s_last_pseg;
++ uint64_t s_last_seq;
++ uint64_t s_free_blocks_count;
++
++ uint64_t s_ctime;
++
++ uint64_t s_mtime;
++ uint64_t s_wtime;
++ uint16_t s_mnt_count;
++ uint16_t s_max_mnt_count;
++ uint16_t s_state;
++ uint16_t s_errors;
++ uint64_t s_lastcheck;
++
++ uint32_t s_checkinterval;
++ uint32_t s_creator_os;
++ uint16_t s_def_resuid;
++ uint16_t s_def_resgid;
++ uint32_t s_first_ino;
++
++ uint16_t s_inode_size;
++ uint16_t s_dat_entry_size;
++ uint16_t s_checkpoint_size;
++ uint16_t s_segment_usage_size;
++
++ uint8_t s_uuid[16];
++ char s_volume_name[80];
++
++ uint32_t s_c_interval;
++ uint32_t s_c_block_max;
++ uint32_t s_reserved[192];
++};
++
++/* nilfs2 magic string */
++#define NILFS_SB_MAGIC "\x34\x34"
++/* nilfs2 super block offset */
++#define NILFS_SB_OFF 0x400
++/* nilfs2 super block offset in kB */
++#define NILFS_SB_KBOFF (NILFS_SB_OFF >> 10)
++/* nilfs2 magic string offset within super block */
++#define NILFS_MAG_OFF 6
++
++static int probe_nilfs2(blkid_probe pr, const struct blkid_idmag *mag)
++{
++ struct nilfs_super_block *sb;
++ static unsigned char sum[4];
++ const int sumoff = offsetof(struct nilfs_super_block, s_sum);
++ size_t bytes;
++ uint32_t crc;
++
++ sb = blkid_probe_get_sb(pr, mag, struct nilfs_super_block);
++ if (!sb)
++ return -1;
++
++ bytes = le32_to_cpu(sb->s_bytes);
++ crc = crc32(le32_to_cpu(sb->s_crc_seed), (unsigned char *)sb, sumoff);
++ crc = crc32(crc, sum, 4);
++ crc = crc32(crc, (unsigned char *)sb + sumoff + 4, bytes - sumoff - 4);
++
++ if (crc != le32_to_cpu(sb->s_sum))
++ return -1;
++
++ if (strlen(sb->s_volume_name))
++ blkid_probe_set_label(pr, (unsigned char *) sb->s_volume_name,
++ sizeof(sb->s_volume_name));
++
++ blkid_probe_set_uuid(pr, sb->s_uuid);
++ blkid_probe_sprintf_version(pr, "%u", le32_to_cpu(sb->s_rev_level));
++
++ return 0;
++}
++
++const struct blkid_idinfo nilfs2_idinfo =
++{
++ .name = "nilfs",
++ .usage = BLKID_USAGE_FILESYSTEM,
++ .probefunc = probe_nilfs2,
++ .magics =
++ {
++ {
++ .magic = NILFS_SB_MAGIC,
++ .len = 2,
++ .kboff = NILFS_SB_KBOFF,
++ .sboff = NILFS_MAG_OFF
++ },
++ { NULL }
++ }
++};
+diff --git a/shlibs/blkid/src/superblocks/superblocks.c b/shlibs/blkid/src/superblocks/superblocks.c
+index b80c10b..3d66d98 100644
+--- a/shlibs/blkid/src/superblocks/superblocks.c
++++ b/shlibs/blkid/src/superblocks/superblocks.c
+@@ -140,6 +140,7 @@ static const struct blkid_idinfo *idinfos[] =
+ &bfs_idinfo,
+ &vmfs_fs_idinfo,
+ &befs_idinfo,
++ &nilfs2_idinfo,
+ &exfat_idinfo
+ };
+
+diff --git a/shlibs/blkid/src/superblocks/superblocks.h b/shlibs/blkid/src/superblocks/superblocks.h
+index 74cb974..a79d7cb 100644
+--- a/shlibs/blkid/src/superblocks/superblocks.h
++++ b/shlibs/blkid/src/superblocks/superblocks.h
+@@ -65,6 +65,7 @@ extern const struct blkid_idinfo vmfs_volume_idinfo;
+ extern const struct blkid_idinfo vmfs_fs_idinfo;
+ extern const struct blkid_idinfo drbd_idinfo;
+ extern const struct blkid_idinfo befs_idinfo;
++extern const struct blkid_idinfo nilfs2_idinfo;
+ extern const struct blkid_idinfo exfat_idinfo;
+
+ /*
+--
+1.7.2.1
+From 67bb0074eec2b154d15bd3dd77b482c3d6125761 Mon Sep 17 00:00:00 2001
+From: Jiro SEKIBA <jir at unicus.jp>
+Date: Tue, 13 Jul 2010 09:14:08 +0200
+Subject: [PATCH] tests: add nilfs2 test for libblkid
+
+Signed-off-by: Jiro SEKIBA <jir at unicus.jp>
+Signed-off-by: Karel Zak <kzak at redhat.com>
+---
+ tests/expected/blkid/low-probe-nilfs2 | 7 +++++++
+ tests/ts/blkid/images-fs/nilfs2.img.bz2 | Bin 0 -> 795 bytes
+ 2 files changed, 7 insertions(+), 0 deletions(-)
+ create mode 100644 tests/expected/blkid/low-probe-nilfs2
+ create mode 100644 tests/ts/blkid/images-fs/nilfs2.img.bz2
+
+diff --git a/tests/expected/blkid/low-probe-nilfs2 b/tests/expected/blkid/low-probe-nilfs2
+new file mode 100644
+index 0000000..bfd8fcd
+--- /dev/null
++++ b/tests/expected/blkid/low-probe-nilfs2
+@@ -0,0 +1,7 @@
++ID_FS_LABEL=test-nilfs2
++ID_FS_LABEL_ENC=test-nilfs2
++ID_FS_TYPE=nilfs
++ID_FS_USAGE=filesystem
++ID_FS_UUID=524025fb-6d31-40e6-baad-1db36cfdf806
++ID_FS_UUID_ENC=524025fb-6d31-40e6-baad-1db36cfdf806
++ID_FS_VERSION=2
+diff --git a/tests/ts/blkid/images-fs/nilfs2.img.bz2 b/tests/ts/blkid/images-fs/nilfs2.img.bz2
+new file mode 100644
+index 0000000000000000000000000000000000000000..a9762eb1ace9f1999aaad3c40f1d836668d856ac
+GIT binary patch
+literal 795
+zcmZ>Y%CIzaj8qGbG`Ml9n}H$iKM?$BcJi+ANKl`nz?|O0 at _@lbK*y;^z=e at R;iM8v
+z^#R6D2YV7HdVE!LUvc5DPv^n~3?@drY>Er`xpEzs%?rp}D3rOt`HEDABm)D32?GP;
+z0!EREipv^IOn^)V240{j^Q<Hzqs++;Mp8zSMhpyWZZoCW1WqjeK1)#Iz#6seeHv~(
+zmxJ_T at 69=2^IA3QjKnD|>vorkjN+>MH*4-%s37X<)*F#v)Rf{P;KEe-N=h(9AxK5r
+zNaB>=<>ixS2R?swwRU~FskVY at 0E2@ILyiK&T}MB??Mn}*D~htZ3cdTZRH0!*OIOhp
+zuF1Yi0SZB_TmsB4k61&aUN!_Ugm_J068*5`gF*w#0teARmnpo_kuT2~GOf!|DtB62
+z!)T++5$eFKB*GXf;<I9F!NQM?v;8`}*7b6px{&k4S4E)bP}5GYFDbo;*GrVLFkN9@
+z@@Z9sSb~JGco?eycMA(Q^Ph&Ju|ft>1p%^G=UuLqkPtM9ycck)X|u7g*QFMo>QK!;
+zURQKH*iWxuZsIwzh at rOT!@1{s7L*D22$pQI7i2k at S1M-~SA2Zm at 7XFsJ@fXR;7eg<
+zQ4&<W_Vc7f at 7p(fvkiM$nYo*^O$-78_-wK~RVMkbV1D8JQ`OC<q49;V$o`^l=O3L4
+zcH6Z3#E!YsGG`s)RMF~EOO1d3>aY{zarw_8qLWfhCp?&^`$6=_69yh&WHm7`bFf at V
+z(PE04u!6IgDET?h6*ny4n=k(V{?{W7DhkUTSQr9X7>p_oxG=CVFtI2!vN$jZD6(v3
+z;O=l+m1w{)gHeLB;X+0N+bk2QBw&h}z@#bCHj{nH7h4xLj+2u!PE3DPVsFhCSH8Sp
+zT}DV?fa{Ns2bOWHVhs!t%xc}wps|W$-`>x&rn$fKjBA>})U}{HMs?HV9M&t-a)KVS
+zYg}FWIQh_-FYD!hutchUy`86XxmogM<nBjObNPCsG{5_M%3n}$Xkh3NkUdt<dS{}a
+Lh>ElVLy7|cD)2Ck
+
+literal 0
+HcmV?d00001
+
+--
+1.7.2.1
+From 1326e1dfa5c1d06ff7521b8c8162452799164239 Mon Sep 17 00:00:00 2001
+From: Jiro SEKIBA <jir at unicus.jp>
+Date: Thu, 15 Jul 2010 13:40:27 +0900
+Subject: [PATCH] libblkid: fix typo filesystem name nilfs to nilfs2
+
+The correct filesystem name is nilfs2, not nilfs.
+
+Signed-off-by: Jiro SEKIBA <jir at unicus.jp>
+---
+ shlibs/blkid/src/superblocks/nilfs.c | 2 +-
+ tests/expected/blkid/low-probe-nilfs2 | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/shlibs/blkid/src/superblocks/nilfs.c b/shlibs/blkid/src/superblocks/nilfs.c
+index c7aba35..bf16918 100644
+--- a/shlibs/blkid/src/superblocks/nilfs.c
++++ b/shlibs/blkid/src/superblocks/nilfs.c
+@@ -104,7 +104,7 @@ static int probe_nilfs2(blkid_probe pr, const struct blkid_idmag *mag)
+
+ const struct blkid_idinfo nilfs2_idinfo =
+ {
+- .name = "nilfs",
++ .name = "nilfs2",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_nilfs2,
+ .magics =
+diff --git a/tests/expected/blkid/low-probe-nilfs2 b/tests/expected/blkid/low-probe-nilfs2
+index bfd8fcd..c6c9cab 100644
+--- a/tests/expected/blkid/low-probe-nilfs2
++++ b/tests/expected/blkid/low-probe-nilfs2
+@@ -1,6 +1,6 @@
+ ID_FS_LABEL=test-nilfs2
+ ID_FS_LABEL_ENC=test-nilfs2
+-ID_FS_TYPE=nilfs
++ID_FS_TYPE=nilfs2
+ ID_FS_USAGE=filesystem
+ ID_FS_UUID=524025fb-6d31-40e6-baad-1db36cfdf806
+ ID_FS_UUID_ENC=524025fb-6d31-40e6-baad-1db36cfdf806
+--
+1.7.2.1
+
More information about the arch-commits
mailing list