Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d205f120547043de663315698dcf5f0eaa31b5c
Commit:     6d205f120547043de663315698dcf5f0eaa31b5c
Parent:     505fa2c4a2f125a70951926dfb22b9cf273994f1
Author:     Vladimir Saveliev <[EMAIL PROTECTED]>
AuthorDate: Wed Apr 11 23:28:44 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Thu Apr 12 15:31:42 2007 -0700

    [PATCH] reiserfs: fix key decrementing
    
    This patch fixes a bug in function decrementing a key of stat data item.
    
    Offset of reiserfs keys are compared as signed values.  To set key offset
    to maximal possible value maximal signed value has to be used.
    
    This bug is responsible for severe reiserfs filesystem corruption which
    shows itself as warning vs-13060.  reiserfsck fixes this corruption by
    filesystem tree rebuilding.
    
    Signed-off-by: Vladimir Saveliev <[EMAIL PROTECTED]>
    Cc: <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 fs/reiserfs/item_ops.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/reiserfs/item_ops.c b/fs/reiserfs/item_ops.c
index b9b423b..9475557 100644
--- a/fs/reiserfs/item_ops.c
+++ b/fs/reiserfs/item_ops.c
@@ -23,7 +23,7 @@ static void sd_decrement_key(struct cpu_key *key)
 {
        key->on_disk_key.k_objectid--;
        set_cpu_key_k_type(key, TYPE_ANY);
-       set_cpu_key_k_offset(key, (loff_t) (-1));
+       set_cpu_key_k_offset(key, (loff_t)(~0ULL >> 1));
 }
 
 static int sd_is_left_mergeable(struct reiserfs_key *key, unsigned long bsize)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to