[sys-fs/reiserfsprogs] Add patch to fix large >4T fs
authorAlexey Shvetsov <alexxy@gentoo.org>
Wed, 21 Sep 2011 21:06:41 +0000 (21:06 +0000)
committerAlexey Shvetsov <alexxy@gentoo.org>
Wed, 21 Sep 2011 21:06:41 +0000 (21:06 +0000)
Package-Manager: portage-2.2.0_alpha59/cvs/Linux x86_64

sys-fs/reiserfsprogs/ChangeLog
sys-fs/reiserfsprogs/Manifest
sys-fs/reiserfsprogs/files/reiserfsprogs-3.6.21-fix_large_fs.patch [new file with mode: 0644]
sys-fs/reiserfsprogs/reiserfsprogs-3.6.21-r1.ebuild [new file with mode: 0644]

index 2ac5c2fb0caa9d5d51f5817ab3b8f4516fc503a2..648930225f91df2e8b33b29db7673003d7dfb62c 100644 (file)
@@ -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:
index 4e6cff40f9bde6154ad8e6814553399d0483b9f7..41dd9095fd9143258f9b2fc387734859fba8fa32 100644 (file)
@@ -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 (file)
index 0000000..a214440
--- /dev/null
@@ -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 (file)
index 0000000..ab980ae
--- /dev/null
@@ -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
+}