summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorAlexey Shvetsov <alexxy@gentoo.org>2011-09-21 21:06:41 +0000
committerAlexey Shvetsov <alexxy@gentoo.org>2011-09-21 21:06:41 +0000
commit89f95b25c34ef05024e7b89efa54b2a62555fa66 (patch)
tree51bc6b7745daea5733f223d1423270e783c49619 /sys-fs
parentVersion bump (diff)
downloadhistorical-89f95b25c34ef05024e7b89efa54b2a62555fa66.tar.gz
historical-89f95b25c34ef05024e7b89efa54b2a62555fa66.tar.bz2
historical-89f95b25c34ef05024e7b89efa54b2a62555fa66.zip
[sys-fs/reiserfsprogs] Add patch to fix large >4T fs
Package-Manager: portage-2.2.0_alpha59/cvs/Linux x86_64
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/reiserfsprogs/ChangeLog11
-rw-r--r--sys-fs/reiserfsprogs/Manifest24
-rw-r--r--sys-fs/reiserfsprogs/files/reiserfsprogs-3.6.21-fix_large_fs.patch356
-rw-r--r--sys-fs/reiserfsprogs/reiserfsprogs-3.6.21-r1.ebuild33
4 files changed, 421 insertions, 3 deletions
diff --git a/sys-fs/reiserfsprogs/ChangeLog b/sys-fs/reiserfsprogs/ChangeLog
index 2ac5c2fb0caa..648930225f91 100644
--- a/sys-fs/reiserfsprogs/ChangeLog
+++ b/sys-fs/reiserfsprogs/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-fs/reiserfsprogs
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/reiserfsprogs/ChangeLog,v 1.58 2010/11/13 15:57:03 armin76 Exp $
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/reiserfsprogs/ChangeLog,v 1.59 2011/09/21 21:06:41 alexxy Exp $
+
+*reiserfsprogs-3.6.21-r1 (21 Sep 2011)
+
+ 21 Sep 2011; Alexey Shvetsov <alexxy@gentoo.org>
+ +reiserfsprogs-3.6.21-r1.ebuild,
+ +files/reiserfsprogs-3.6.21-fix_large_fs.patch:
+ Add patch to fix large >4T fs
13 Nov 2010; Raúl Porcel <armin76@gentoo.org>
reiserfsprogs-3.6.21.ebuild:
diff --git a/sys-fs/reiserfsprogs/Manifest b/sys-fs/reiserfsprogs/Manifest
index 4e6cff40f9bd..41dd9095fd91 100644
--- a/sys-fs/reiserfsprogs/Manifest
+++ b/sys-fs/reiserfsprogs/Manifest
@@ -1,10 +1,32 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
AUX reiserfsprogs-3.6.19-fsck-n.patch 657 RMD160 db1743daa987ea162a9a574adcf4e2f841d645a3 SHA1 fa42d0f5ea6b3210932fe4f16e1dd24caa7a55b0 SHA256 5e35c0846d7995a7a02fe9f6c08b3267a614fbc18249f9c2a40f4165bf577e9b
AUX reiserfsprogs-3.6.19-unaligned.patch 1129 RMD160 7429d2e600301a61502018af1134d56e4daba151 SHA1 fd97c2e9c9a8dc2064e74e41e7f6b4d8e3b61a09 SHA256 9e076de8c0318dcae6f1eae0949f6e1098ac875a2dfc3e1cbe0815b8e5f8e573
AUX reiserfsprogs-3.6.20-fsck-n.patch 561 RMD160 b61286e0a6ad432597af52cb705f483c72a0be31 SHA1 291615c036aa4c646e438bbe975dc5c7e4bbe265 SHA256 d9cd083244f63576fa6bbb533b3e0d73b88263961dca587fda7c3be11c0bb362
+AUX reiserfsprogs-3.6.21-fix_large_fs.patch 13165 RMD160 f5a0dff7fac541cb6cea6faff0e96fdc407a0c0d SHA1 912e9339e2f8e67bb964bfeede3ea87f5f373f88 SHA256 caec3527c451c149e6ef7af669b737dc7c78447e15e02999d1df2863192e8dc9
AUX reiserfsprogs-3.6.21-fsck-n.patch 537 RMD160 d2b7964735d57c524570c9c30cf80b35fd3c484c SHA1 f00dc640c9e5ca337507e37600b9ddd5c320c87b SHA256 ac375fbf2812e5b6dcb497f421d3c3a8e279ddb39416e40910f0f9b3af33cc6c
DIST reiserfsprogs-3.6.19.tar.gz 406895 RMD160 a082eb9de980b3d24dd9d08e5028a19f448ed40a SHA1 9df17f21de2b152a55b9edc5436206d5821c2188 SHA256 c0862c53aecd23724a72d32fb54706d61d9858925c78408a2852d042417e68bf
DIST reiserfsprogs-3.6.21.tar.gz 423521 RMD160 80069aa1fcf47c89f126430a3ce698b13d2b482c SHA1 e50940c9b4c1f9070db0b0f3e9f953d7e3657fe9 SHA256 cc87cecd5c259665aae46a7760525486767e1ace6da833a4f1a616a58b5ad092
EBUILD reiserfsprogs-3.6.19-r2.ebuild 915 RMD160 ab0e0c504b82d5948a76df93c1ad308b4e1795ed SHA1 2ed1db91d71442197512446b7f062b0c3cdedba6 SHA256 bb1595a747fa9ecae9396ce128ded6e60218b7075aecffe5295a14525ff6fc63
+EBUILD reiserfsprogs-3.6.21-r1.ebuild 925 RMD160 d335d0364f9f1d0a9b815aaa97d8ae84976a4640 SHA1 f0f10e382fcf4ca0f39bbbf934e2f6afcdbda062 SHA256 fd7aa90a83e08f6b934025c5b828d2264b2da871f3b5e8ff7b5648724cb3ecea
EBUILD reiserfsprogs-3.6.21.ebuild 870 RMD160 33ace4cdb9b7ec5cc5b6e16a305e1d97fb0f6ba4 SHA1 7382e88b77e2f348dddcd3b912347bc71baac488 SHA256 c9db55609d7b58138614398bddeee052da723512cba707d2a987511827bb86a0
-MISC ChangeLog 12067 RMD160 a8d4be39842453905b70b07dcdb77a4afaf0e611 SHA1 9aee35adc78ddd5198fe09c278d776e3cc6b2061 SHA256 36173b3ee8bbdf9c215b7beffd9f0fd9e5f640ed525da841f4182401d84c19c0
+MISC ChangeLog 12275 RMD160 6d0ac816aa040e9fdc62db75752ad387cddf1daa SHA1 aefbe54ca18a51c8c106201a7b6479ce5244f9d0 SHA256 602059f63888751d8b054a7cf8deb05a6f902703c49ff712c8424d51e7837372
MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.18 (GNU/Linux)
+
+iQIcBAEBCAAGBQJOelGnAAoJEOf+E+/4L5LmJCkP/2Xa5tgpbOf0gSmp27MmD4Gv
+3dhhxcO9SPTHy99KE0j7EWq5J8Kd2Tmx0zc2n/R3zGti0+n9lDex57sMxvjz+kAx
+TjLkZGKutFceMEFRL0gwd+nd40BRGd+M5ZLEulb14orMJ/bX0vDa/vAWQbIETT5t
+0Zwnuxxt/vnGBotnMAlGMSq2BAkvJStFCRH6Tmw0n82+XPRpRSPAfqxl/fOKPUh6
+VKULHfaKQjY4utYo3gxrSOgpVIqRkhOPtVUAzeVTlBUlS8RnTv8t/n6JdMZVmFbI
+fBykJQxprw+LLBkwiFrISRXrA/FwOSPWaknZ8j/IgeacksxD40UShTijWj4IzZbR
+4hmr5zm+8UDc5uo995jwkK9zr7DrgzYyhdkQXsWoiBTFK3KsNFVuPYa/bx80j9LV
+jFmSNCnkxXOaPUnLFNy+wNVxQmFiXav4FBTlapeJmSFo+oXDet9h5pe7Yk9jyhbo
+vVDuTQYEsGVsTtE2/busalgPDM9A5M9V2dTlFDFtCMx/l4DimgINNXi8xCiOPQ0A
+ZNfSN49mDTGPosj2GGAwZi+NOAa++JLPpj6hGTviIPcWw6ut8u4Je/AO4pXrDY1J
+8CCGZmlPvFkEvbm6Q0vh7wNcMQvGw8UdWlRvRqYrVT3VifcVZ7PZhcbJlW417ejV
+9ninT7iSDfNNzVmrL483
+=XkmO
+-----END PGP SIGNATURE-----
diff --git a/sys-fs/reiserfsprogs/files/reiserfsprogs-3.6.21-fix_large_fs.patch b/sys-fs/reiserfsprogs/files/reiserfsprogs-3.6.21-fix_large_fs.patch
new file mode 100644
index 000000000000..a214440a5393
--- /dev/null
+++ b/sys-fs/reiserfsprogs/files/reiserfsprogs-3.6.21-fix_large_fs.patch
@@ -0,0 +1,356 @@
+From: Jeff Mahoney <jeffm@suse.com>
+Subject: [PATCH] reiserfs: Fix signedness issues for large file systems
+References: bnc#701602
+
+
+Signed-by: Jeff Mahoney <jeffm@suse.com>
+---
+ debugreiserfs/debugreiserfs.c | 22 +++++++++++-----------
+ debugreiserfs/pack.c | 18 +++++++++---------
+ debugreiserfs/scan.c | 2 +-
+ debugreiserfs/stat.c | 2 +-
+ fsck/check_tree.c | 6 +++---
+ fsck/pass0.c | 10 +++++-----
+ fsck/pass1.c | 4 ++--
+ include/reiserfs_fs.h | 2 ++
+ lib/io.c | 2 +-
+ reiserfscore/journal.c | 2 +-
+ reiserfscore/prints.c | 14 +++++++-------
+ reiserfscore/reiserfslib.c | 5 +++--
+ reiserfscore/stree.c | 2 +-
+ 13 files changed, 47 insertions(+), 44 deletions(-)
+
+--- a/debugreiserfs/debugreiserfs.c
++++ b/debugreiserfs/debugreiserfs.c
+@@ -59,11 +59,11 @@ Options:\n\
+
+ #if 1
+ struct reiserfs_fsstat {
+- int nr_internals;
+- int nr_leaves;
+- int nr_files;
+- int nr_directories;
+- int nr_unformatted;
++ unsigned int nr_internals;
++ unsigned int nr_leaves;
++ unsigned int nr_files;
++ unsigned int nr_directories;
++ unsigned int nr_unformatted;
+ } g_stat_info;
+ #endif
+
+@@ -465,14 +465,14 @@ static void init_bitmap (reiserfs_filsys
+ case ALL_BLOCKS:
+ input_bitmap (fs) = reiserfs_create_bitmap (block_count);
+ reiserfs_bitmap_fill (input_bitmap (fs));
+- reiserfs_warning (stderr, "Whole device (%d blocks) is to be scanned\n",
++ reiserfs_warning (stderr, "Whole device (%u blocks) is to be scanned\n",
+ reiserfs_bitmap_ones (input_bitmap (fs)));
+ break;
+ case USED_BLOCKS:
+ reiserfs_warning (stderr, "Loading on-disk bitmap .. ");
+ input_bitmap (fs) = reiserfs_create_bitmap (block_count);
+ reiserfs_bitmap_copy (input_bitmap (fs), fs->fs_bitmap2);
+- reiserfs_warning (stderr, "%d bits set - done\n",
++ reiserfs_warning (stderr, "%lu bits set - done\n",
+ reiserfs_bitmap_ones (input_bitmap (fs)));
+ break;
+ case UNUSED_BLOCKS:
+@@ -480,7 +480,7 @@ static void init_bitmap (reiserfs_filsys
+ input_bitmap (fs) = reiserfs_create_bitmap (block_count);
+ reiserfs_bitmap_copy (input_bitmap (fs), fs->fs_bitmap2);
+ reiserfs_bitmap_invert (input_bitmap (fs));
+- reiserfs_warning (stderr, "%d bits set - done\n",
++ reiserfs_warning (stderr, "%lu bits set - done\n",
+ reiserfs_bitmap_ones (input_bitmap (fs)));
+ break;
+ case EXTERN_BITMAP:
+@@ -494,7 +494,7 @@ static void init_bitmap (reiserfs_filsys
+ reiserfs_exit (1, "could not load fitmap from \"%s\"",
+ input_bitmap_file_name(fs));
+ }
+- reiserfs_warning (stderr, "%d blocks marked in the given bitmap\n",
++ reiserfs_warning (stderr, "%u blocks marked in the given bitmap\n",
+ reiserfs_bitmap_ones (input_bitmap (fs)));
+ fclose (fp);
+ break;
+@@ -554,8 +554,8 @@ static void do_dump_tree (reiserfs_filsy
+ }
+
+ /* print the statistic */
+- printf ("\t%d internal + %d leaves + %d "
+- "unformatted nodes = %d blocks\n",
++ printf ("\t%u internal + %u leaves + %u "
++ "unformatted nodes = %u blocks\n",
+ g_stat_info.nr_internals, g_stat_info.nr_leaves,
+ g_stat_info.nr_unformatted, g_stat_info.nr_internals +
+ g_stat_info.nr_leaves + g_stat_info.nr_unformatted);
+--- a/debugreiserfs/pack.c
++++ b/debugreiserfs/pack.c
+@@ -8,7 +8,7 @@
+
+
+ /* counters for each kind of blocks */
+-int packed,
++unsigned int packed,
+ packed_leaves,
+ full_blocks,
+ having_ih_array, /* blocks with broken block head */
+@@ -638,7 +638,7 @@ static void pack_frozen_data (reiserfs_f
+ }
+ reiserfs_warning (stderr, "ok\n");fflush (stderr);
+ reiserfs_warning (stderr,
+- "Super block, bitmaps, journal - %d blocks - done, %d blocks left\n",
++ "Super block, bitmaps, journal - %u blocks - done, %u blocks left\n",
+ packed, reiserfs_bitmap_ones (what_to_pack));
+ }
+
+@@ -693,13 +693,13 @@ void pack_partition (reiserfs_filsys_t *
+ magic16 = END_MAGIC;
+ fwrite_le16 (&magic16);
+
+- fprintf (stderr, "\nPacked %d blocks:\n"
+- "\tcompessed %d\n"
+- "\tfull blocks %d\n"
+- "\t\tleaves with broken block head %d\n"
+- "\t\tcorrupted leaves %d\n"
+- "\t\tinternals %d\n"
+- "\t\tdescriptors %d\n",
++ fprintf (stderr, "\nPacked %u blocks:\n"
++ "\tcompessed %u\n"
++ "\tfull blocks %u\n"
++ "\t\tleaves with broken block head %u\n"
++ "\t\tcorrupted leaves %u\n"
++ "\t\tinternals %u\n"
++ "\t\tdescriptors %u\n",
+ packed,
+ packed_leaves, full_blocks, having_ih_array,
+ bad_leaves, internals, descs);
+--- a/debugreiserfs/scan.c
++++ b/debugreiserfs/scan.c
+@@ -1032,7 +1032,7 @@ void do_scan (reiserfs_filsys_t * fs)
+ /* step 2: */
+ done = 0;
+ total = reiserfs_bitmap_ones (input_bitmap (fs));
+- printf ("%ld bits set in bitmap\n", total);
++ printf ("%lu bits set in bitmap\n", total);
+ for (i = 0; i < get_sb_block_count (fs->fs_ondisk_sb); i ++) {
+ int type;
+
+--- a/debugreiserfs/stat.c
++++ b/debugreiserfs/stat.c
+@@ -245,7 +245,7 @@ void do_stat (reiserfs_filsys_t * fs)
+ reiserfs_exit (1, "could not open %s to save bitmap: %m\n",
+ input_bitmap_file_name(fs));
+ }
+- reiserfs_warning (stderr, "Updated bitmap contains %d blocks marked\n",
++ reiserfs_warning (stderr, "Updated bitmap contains %u blocks marked\n",
+ reiserfs_bitmap_ones (input_bitmap (fs)));
+
+ reiserfs_bitmap_save (fp, input_bitmap (fs));
+--- a/fsck/check_tree.c
++++ b/fsck/check_tree.c
+@@ -119,7 +119,7 @@ static int is_block_free (reiserfs_filsy
+ }
+
+
+-/*static int hits = 0;*/
++/*static unsigned int hits = 0;*/
+
+ /* we have seen this block in the tree, mark corresponding bit in the
+ control bitmap */
+@@ -156,7 +156,7 @@ static void init_control_bitmap (reiserf
+ for (i = 0; i <= fs->fs_super_bh->b_blocknr; i ++)
+ we_met_it (i);
+
+- /*printf ("SKIPPED: %d blocks marked used (%d)\n", hits,
++ /*printf ("SKIPPED: %u blocks marked used (%d)\n", hits,
+ reiserfs_bitmap_zeros (control_bitmap));
+ hits = 0;*/
+
+@@ -172,7 +172,7 @@ static void init_control_bitmap (reiserf
+ block ++;
+ }
+
+- /*printf ("BITMAPS: %d blocks marked used (%d)\n", hits,
++ /*printf ("BITMAPS: %u blocks marked used (%d)\n", hits,
+ reiserfs_bitmap_zeros (control_bitmap));
+
+ hits = 0;*/
+--- a/fsck/pass0.c
++++ b/fsck/pass0.c
+@@ -1759,7 +1759,7 @@ static void init_source_bitmap (reiserfs
+ case ALL_BLOCKS:
+ fsck_source_bitmap (fs) = reiserfs_create_bitmap (block_count);
+ reiserfs_bitmap_fill (fsck_source_bitmap (fs));
+- fsck_progress ("The whole partition (%d blocks) is to be scanned\n",
++ fsck_progress ("The whole partition (%u blocks) is to be scanned\n",
+ reiserfs_bitmap_ones (fsck_source_bitmap (fs)));
+ break;
+
+@@ -1768,7 +1768,7 @@ static void init_source_bitmap (reiserfs
+ fsck_source_bitmap (fs) = reiserfs_create_bitmap (block_count);
+ reiserfs_bitmap_copy (fsck_source_bitmap (fs), fs->fs_bitmap2);
+
+- fsck_progress ("ok, %d blocks marked used\n",
++ fsck_progress ("ok, %u blocks marked used\n",
+ reiserfs_bitmap_ones (fsck_source_bitmap (fs)));
+ break;
+
+@@ -1787,7 +1787,7 @@ static void init_source_bitmap (reiserfs
+ fsck_data (fs)->rebuild.bitmap_file_name);
+ }
+
+- fsck_progress ("%d blocks marked used in extern bitmap\n",
++ fsck_progress ("%u blocks marked used in extern bitmap\n",
+ reiserfs_bitmap_ones (fsck_source_bitmap (fs)));
+ fclose (fp);
+ break;
+@@ -1863,8 +1863,8 @@ static void init_source_bitmap (reiserfs
+
+ fsck_source_bitmap (fs)->bm_set_bits = reiserfs_bitmap_ones (fsck_source_bitmap (fs));
+
+- fsck_progress ("Skipping %d blocks (super block, journal, "
+- "bitmaps) %d blocks will be read\n", tmp, fsck_source_bitmap (fs)->bm_set_bits);
++ fsck_progress ("Skipping %u blocks (super block, journal, "
++ "bitmaps) %u blocks will be read\n", tmp, fsck_source_bitmap (fs)->bm_set_bits);
+
+ }
+
+--- a/fsck/pass1.c
++++ b/fsck/pass1.c
+@@ -646,8 +646,8 @@ void load_pass_1_result (FILE * fp, reis
+ fetch_objectid_map (proper_id_map (fs), fs);
+ */
+
+- fsck_progress ("Pass 1 result loaded. %d blocks used, %d allocable, "
+- "still to be inserted %d\n",
++ fsck_progress ("Pass 1 result loaded. %u blocks used, %u allocable, "
++ "still to be inserted %u\n",
+ reiserfs_bitmap_ones (fsck_new_bitmap (fs)),
+ reiserfs_bitmap_zeros (fsck_allocable_bitmap (fs)),
+ reiserfs_bitmap_zeros (fsck_uninsertables (fs)));
+--- a/include/reiserfs_fs.h
++++ b/include/reiserfs_fs.h
+@@ -32,6 +32,8 @@
+ #ifndef REISERFSPROGS_FS_H
+ #define REISERFSPRIGS_FS_H
+
++typedef unsigned int blocknr_t;
++
+ #ifndef NO_EXTERN_INLINE
+ # define extern_inline extern inline
+ #else
+--- a/lib/io.c
++++ b/lib/io.c
+@@ -628,7 +628,7 @@ void close_rollback_file () {
+ return;
+ fwrite (&rollback_blocks_number, sizeof (rollback_blocksize), 1, s_rollback_file);
+ if (log_file != 0)
+- fprintf (log_file, "rollback: %d blocks backed up\n", rollback_blocks_number);
++ fprintf (log_file, "rollback: %u blocks backed up\n", rollback_blocks_number);
+ }
+
+ fclose (s_rollback_file);
+--- a/reiserfscore/journal.c
++++ b/reiserfscore/journal.c
+@@ -577,7 +577,7 @@ int reiserfs_create_journal(
+ {
+ /* host device does not contain enough blocks */
+ reiserfs_warning (stderr, "reiserfs_create_journal: cannot create "
+- "a journal of %lu blocks with %lu offset on %d blocks\n",
++ "a journal of %lu blocks with %lu offset on %u blocks\n",
+ len, offset, get_sb_block_count(sb));
+ return 0;
+ }
+--- a/reiserfscore/prints.c
++++ b/reiserfscore/prints.c
+@@ -148,7 +148,7 @@ static int print_disk_child (FILE * stre
+ int len;
+
+ dc = *((const struct disk_child **)(args[0]));
+- len = asprintf (&buffer, "[dc_number=%u, dc_size=%u]", get_dc_child_blocknr (dc),
++ len = asprintf (&buffer, "[dc_number=%lu, dc_size=%u]", get_dc_child_blocknr (dc),
+ get_dc_child_size (dc));
+ FPRINTF;
+ }
+@@ -373,9 +373,9 @@ static void print_sequence (FILE * fp, _
+ return;
+
+ if (len == 1)
+- reiserfs_warning (fp, " %d", le32_to_cpu (start));
++ reiserfs_warning (fp, " %u", le32_to_cpu (start));
+ else
+- reiserfs_warning (fp, " %d(%d)", le32_to_cpu (start), len);
++ reiserfs_warning (fp, " %u(%d)", le32_to_cpu (start), len);
+ }
+
+
+@@ -491,7 +491,7 @@ static int print_internal (FILE * fp, st
+ to = last < B_NR_ITEMS (bh) ? last : B_NR_ITEMS (bh);
+ }
+
+- reiserfs_warning (fp, "INTERNAL NODE (%ld) contains %b\n", bh->b_blocknr, bh);
++ reiserfs_warning (fp, "INTERNAL NODE (%lu) contains %b\n", bh->b_blocknr, bh);
+
+ dc = B_N_CHILD (bh, from);
+ reiserfs_warning (fp, "PTR %d: %y ", from, dc);
+@@ -527,7 +527,7 @@ static int print_leaf (FILE * fp, reiser
+
+ reiserfs_warning (fp,
+ "\n===================================================================\n");
+- reiserfs_warning (fp, "LEAF NODE (%ld) contains %b (real items %d)\n",
++ reiserfs_warning (fp, "LEAF NODE (%lu) contains %b (real items %d)\n",
+ bh->b_blocknr, bh, real_nr);
+
+ if (!(print_mode & PRINT_TREE_DETAILS)) {
+@@ -761,7 +761,7 @@ void print_block (FILE * fp, reiserfs_fi
+ if (print_super_block (fp, fs, file_name, bh, 0))
+ if (print_leaf (fp, fs, bh, mode, first, last))
+ if (print_internal (fp, bh, first, last))
+- reiserfs_warning (fp, "Block %ld contains unformatted data\n", bh->b_blocknr);
++ reiserfs_warning (fp, "Block %lu contains unformatted data\n", bh->b_blocknr);
+ }
+
+
+@@ -797,7 +797,7 @@ void print_tb (int mode, int item_pos, i
+ tbSh = 0;
+ tbFh = 0;
+ }
+- printf ("* %u * %3lu(%2lu) * %3lu(%2lu) * %3lu(%2lu) * %5ld * %5ld * %5ld * %5ld * %5ld *\n",
++ printf ("* %u * %3lu(%2lu) * %3lu(%2lu) * %3lu(%2lu) * %5lu * %5lu * %5lu * %5lu * %5lu *\n",
+ h,
+ tbSh ? tbSh->b_blocknr : ~0ul,
+ tbSh ? tbSh->b_count : ~0ul,
+--- a/reiserfscore/reiserfslib.c
++++ b/reiserfscore/reiserfslib.c
+@@ -59,7 +59,8 @@ reiserfs_filsys_t * reiserfs_open (char
+ reiserfs_filsys_t * fs;
+ struct buffer_head * bh;
+ struct reiserfs_super_block * sb;
+- int fd, i;
++ int fd;
++ unsigned int i;
+
+ /* convert root dir key and parent root dir key to little endian format */
+ make_const_keys ();
+@@ -200,7 +201,7 @@ reiserfs_filsys_t * reiserfs_create (cha
+ block_size, block_count, 0))
+ {
+ reiserfs_warning (stderr, "reiserfs_create: can not create that small "
+- "(%d blocks) filesystem\n", block_count);
++ "(%u blocks) filesystem\n", block_count);
+ return 0;
+ }
+
+--- a/reiserfscore/stree.c
++++ b/reiserfscore/stree.c
+@@ -313,7 +313,7 @@ int search_by_key (reiserfs_filsys_t * f
+ int n_stop_level) /* How far down the tree to search.*/
+ {
+ struct reiserfs_super_block * sb;
+- int n_block_number,
++ unsigned int n_block_number,
+ expected_level,
+ n_block_size = fs->fs_blocksize;
+ struct buffer_head * p_s_bh;
diff --git a/sys-fs/reiserfsprogs/reiserfsprogs-3.6.21-r1.ebuild b/sys-fs/reiserfsprogs/reiserfsprogs-3.6.21-r1.ebuild
new file mode 100644
index 000000000000..ab980aef0dac
--- /dev/null
+++ b/sys-fs/reiserfsprogs/reiserfsprogs-3.6.21-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/reiserfsprogs/reiserfsprogs-3.6.21-r1.ebuild,v 1.1 2011/09/21 21:06:41 alexxy Exp $
+
+inherit eutils
+
+DESCRIPTION="Reiserfs Utilities"
+HOMEPAGE="http://www.kernel.org/pub/linux/utils/fs/reiserfs/"
+SRC_URI="mirror://kernel/linux/utils/fs/reiserfs/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 -sparc ~x86"
+IUSE=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-fsck-n.patch
+ epatch "${FILESDIR}"/${P}-fix_large_fs.patch
+}
+
+src_compile() {
+ econf --prefix=/ || die "Failed to configure"
+ emake || die "Failed to compile"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "Failed to install"
+ dosym reiserfsck /sbin/fsck.reiserfs
+ dosym mkreiserfs /sbin/mkfs.reiserfs
+ dodoc ChangeLog INSTALL README
+}