]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.fixes/reiserfs-commit-ids-unsigned-ints
Imported linux-2.6.27.39 suse/xen patches.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.fixes / reiserfs-commit-ids-unsigned-ints
diff --git a/src/patches/suse-2.6.27.31/patches.fixes/reiserfs-commit-ids-unsigned-ints b/src/patches/suse-2.6.27.31/patches.fixes/reiserfs-commit-ids-unsigned-ints
deleted file mode 100644 (file)
index 49e38a9..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-From: Jeff Mahoney <jeffm@suse.com>
-Subject: [PATCH] reiserfs: audit transaction ids to always be unsigned ints
-References: bnc#410847
-
- This patch fixes up the reiserfs code such that transaction ids are
- always unsigned ints. In places they can currently be signed ints or
- unsigned longs.
-
- The former just causes an annoying clm-2200 warning and may join a
- transaction when it should wait.
-
- The latter is just for correctness since the disk format uses a 32-bit
- transaction id. There aren't any runtime problems that result from it
- not wrapping at the correct location since the value is truncated
- correctly even on big endian systems. The 0 value might make it to disk,
- but the mount-time checks will bump it to 10 itself.
-
-Signed-off-by: Jeff Mahoney <jeffm@suse.com>
-
----
- fs/reiserfs/journal.c          |   46 ++++++++++++++++++++---------------------
- fs/reiserfs/procfs.c           |    4 +--
- include/linux/reiserfs_fs.h    |    2 -
- include/linux/reiserfs_fs_i.h  |    2 -
- include/linux/reiserfs_fs_sb.h |    8 +++----
- 5 files changed, 31 insertions(+), 31 deletions(-)
-
---- a/fs/reiserfs/journal.c
-+++ b/fs/reiserfs/journal.c
-@@ -574,7 +574,7 @@ static inline void put_journal_list(stru
-                                   struct reiserfs_journal_list *jl)
- {
-       if (jl->j_refcount < 1) {
--              reiserfs_panic(s, "trans id %lu, refcount at %d",
-+              reiserfs_panic(s, "trans id %u, refcount at %d",
-                              jl->j_trans_id, jl->j_refcount);
-       }
-       if (--jl->j_refcount == 0)
-@@ -599,7 +599,7 @@ static void cleanup_freed_for_journal_li
- }
- static int journal_list_still_alive(struct super_block *s,
--                                  unsigned long trans_id)
-+                                  unsigned int trans_id)
- {
-       struct reiserfs_journal *journal = SB_JOURNAL(s);
-       struct list_head *entry = &journal->j_journal_list;
-@@ -933,9 +933,9 @@ static int flush_older_commits(struct su
-       struct reiserfs_journal_list *other_jl;
-       struct reiserfs_journal_list *first_jl;
-       struct list_head *entry;
--      unsigned long trans_id = jl->j_trans_id;
--      unsigned long other_trans_id;
--      unsigned long first_trans_id;
-+      unsigned int trans_id = jl->j_trans_id;
-+      unsigned int other_trans_id;
-+      unsigned int first_trans_id;
-       find_first:
-       /*
-@@ -1014,7 +1014,7 @@ static int flush_commit_list(struct supe
-       int i;
-       b_blocknr_t bn;
-       struct buffer_head *tbh = NULL;
--      unsigned long trans_id = jl->j_trans_id;
-+      unsigned int trans_id = jl->j_trans_id;
-       struct reiserfs_journal *journal = SB_JOURNAL(s);
-       int barrier = 0;
-       int retval = 0;
-@@ -1275,7 +1275,7 @@ static void remove_all_from_journal_list
- */
- static int _update_journal_header_block(struct super_block *p_s_sb,
-                                       unsigned long offset,
--                                      unsigned long trans_id)
-+                                      unsigned int trans_id)
- {
-       struct reiserfs_journal_header *jh;
-       struct reiserfs_journal *journal = SB_JOURNAL(p_s_sb);
-@@ -1329,7 +1329,7 @@ static int _update_journal_header_block(
- static int update_journal_header_block(struct super_block *p_s_sb,
-                                      unsigned long offset,
--                                     unsigned long trans_id)
-+                                     unsigned int trans_id)
- {
-       return _update_journal_header_block(p_s_sb, offset, trans_id);
- }
-@@ -1344,7 +1344,7 @@ static int flush_older_journal_lists(str
-       struct list_head *entry;
-       struct reiserfs_journal_list *other_jl;
-       struct reiserfs_journal *journal = SB_JOURNAL(p_s_sb);
--      unsigned long trans_id = jl->j_trans_id;
-+      unsigned int trans_id = jl->j_trans_id;
-       /* we know we are the only ones flushing things, no extra race
-        * protection is required.
-@@ -1758,13 +1758,13 @@ static int dirty_one_transaction(struct 
- static int kupdate_transactions(struct super_block *s,
-                               struct reiserfs_journal_list *jl,
-                               struct reiserfs_journal_list **next_jl,
--                              unsigned long *next_trans_id,
-+                              unsigned int *next_trans_id,
-                               int num_blocks, int num_trans)
- {
-       int ret = 0;
-       int written = 0;
-       int transactions_flushed = 0;
--      unsigned long orig_trans_id = jl->j_trans_id;
-+      unsigned int orig_trans_id = jl->j_trans_id;
-       struct buffer_chunk chunk;
-       struct list_head *entry;
-       struct reiserfs_journal *journal = SB_JOURNAL(s);
-@@ -1833,7 +1833,7 @@ static int flush_used_journal_lists(stru
-       int limit = 256;
-       struct reiserfs_journal_list *tjl;
-       struct reiserfs_journal_list *flush_jl;
--      unsigned long trans_id;
-+      unsigned int trans_id;
-       struct reiserfs_journal *journal = SB_JOURNAL(s);
-       flush_jl = tjl = jl;
-@@ -2023,7 +2023,7 @@ static int journal_compare_desc_commit(s
- */
- static int journal_transaction_is_valid(struct super_block *p_s_sb,
-                                       struct buffer_head *d_bh,
--                                      unsigned long *oldest_invalid_trans_id,
-+                                      unsigned int *oldest_invalid_trans_id,
-                                       unsigned long *newest_mount_id)
- {
-       struct reiserfs_journal_desc *desc;
-@@ -2124,18 +2124,18 @@ static void brelse_array(struct buffer_h
- static int journal_read_transaction(struct super_block *p_s_sb,
-                                   unsigned long cur_dblock,
-                                   unsigned long oldest_start,
--                                  unsigned long oldest_trans_id,
-+                                  unsigned int oldest_trans_id,
-                                   unsigned long newest_mount_id)
- {
-       struct reiserfs_journal *journal = SB_JOURNAL(p_s_sb);
-       struct reiserfs_journal_desc *desc;
-       struct reiserfs_journal_commit *commit;
--      unsigned long trans_id = 0;
-+      unsigned int trans_id = 0;
-       struct buffer_head *c_bh;
-       struct buffer_head *d_bh;
-       struct buffer_head **log_blocks = NULL;
-       struct buffer_head **real_blocks = NULL;
--      unsigned long trans_offset;
-+      unsigned int trans_offset;
-       int i;
-       int trans_half;
-@@ -2356,8 +2356,8 @@ static int journal_read(struct super_blo
- {
-       struct reiserfs_journal *journal = SB_JOURNAL(p_s_sb);
-       struct reiserfs_journal_desc *desc;
--      unsigned long oldest_trans_id = 0;
--      unsigned long oldest_invalid_trans_id = 0;
-+      unsigned int oldest_trans_id = 0;
-+      unsigned int oldest_invalid_trans_id = 0;
-       time_t start;
-       unsigned long oldest_start = 0;
-       unsigned long cur_dblock = 0;
-@@ -2967,7 +2967,7 @@ static void wake_queued_writers(struct s
-               wake_up(&journal->j_join_wait);
- }
--static void let_transaction_grow(struct super_block *sb, unsigned long trans_id)
-+static void let_transaction_grow(struct super_block *sb, unsigned int trans_id)
- {
-       struct reiserfs_journal *journal = SB_JOURNAL(sb);
-       unsigned long bcount = journal->j_bcount;
-@@ -2998,7 +2998,7 @@ static int do_journal_begin_r(struct rei
-                             int join)
- {
-       time_t now = get_seconds();
--      int old_trans_id;
-+      unsigned int old_trans_id;
-       struct reiserfs_journal *journal = SB_JOURNAL(p_s_sb);
-       struct reiserfs_transaction_handle myth;
-       int sched_count = 0;
-@@ -3821,7 +3821,7 @@ static int __commit_trans_jl(struct inod
- int reiserfs_commit_for_inode(struct inode *inode)
- {
--      unsigned long id = REISERFS_I(inode)->i_trans_id;
-+      unsigned int id = REISERFS_I(inode)->i_trans_id;
-       struct reiserfs_journal_list *jl = REISERFS_I(inode)->i_jl;
-       /* for the whole inode, assume unset id means it was
-@@ -3935,7 +3935,7 @@ static int do_journal_end(struct reiserf
-       struct reiserfs_journal_list *jl, *temp_jl;
-       struct list_head *entry, *safe;
-       unsigned long jindex;
--      unsigned long commit_trans_id;
-+      unsigned int commit_trans_id;
-       int trans_half;
-       BUG_ON(th->t_refcount > 1);
-@@ -3943,7 +3943,7 @@ static int do_journal_end(struct reiserf
-       /* protect flush_older_commits from doing mistakes if the
-            transaction ID counter gets overflowed.  */
--      if (th->t_trans_id == ~0UL)
-+      if (th->t_trans_id == ~0U)
-               flags |= FLUSH_ALL | COMMIT_NOW | WAIT;
-       flush = flags & FLUSH_ALL;
-       wait_on_commit = flags & WAIT;
---- a/fs/reiserfs/procfs.c
-+++ b/fs/reiserfs/procfs.c
-@@ -323,7 +323,7 @@ static int show_journal(struct seq_file 
-                  /* incore fields */
-                  "j_1st_reserved_block: \t%i\n"
-                  "j_state: \t%li\n"
--                 "j_trans_id: \t%lu\n"
-+                 "j_trans_id: \t%u\n"
-                  "j_mount_id: \t%lu\n"
-                  "j_start: \t%lu\n"
-                  "j_len: \t%lu\n"
-@@ -331,7 +331,7 @@ static int show_journal(struct seq_file 
-                  "j_wcount: \t%i\n"
-                  "j_bcount: \t%lu\n"
-                  "j_first_unflushed_offset: \t%lu\n"
--                 "j_last_flush_trans_id: \t%lu\n"
-+                 "j_last_flush_trans_id: \t%u\n"
-                  "j_trans_start_time: \t%li\n"
-                  "j_list_bitmap_index: \t%i\n"
-                  "j_must_wait: \t%i\n"
---- a/include/linux/reiserfs_fs.h
-+++ b/include/linux/reiserfs_fs.h
-@@ -1676,7 +1676,7 @@ struct reiserfs_transaction_handle {
-       int t_refcount;
-       int t_blocks_logged;    /* number of blocks this writer has logged */
-       int t_blocks_allocated; /* number of blocks this writer allocated */
--      unsigned long t_trans_id;       /* sanity check, equals the current trans id */
-+      unsigned int t_trans_id;        /* sanity check, equals the current trans id */
-       void *t_handle_save;    /* save existing current->journal_info */
-       unsigned displace_new_blocks:1; /* if new block allocation occurres, that block
-                                          should be displaced from others */
---- a/include/linux/reiserfs_fs_i.h
-+++ b/include/linux/reiserfs_fs_i.h
-@@ -51,7 +51,7 @@ struct reiserfs_inode_info {
-       /* we use these for fsync or O_SYNC to decide which transaction
-        ** needs to be committed in order for this inode to be properly
-        ** flushed */
--      unsigned long i_trans_id;
-+      unsigned int i_trans_id;
-       struct reiserfs_journal_list *i_jl;
-       struct mutex i_mmap;
- #ifdef CONFIG_REISERFS_FS_POSIX_ACL
---- a/include/linux/reiserfs_fs_sb.h
-+++ b/include/linux/reiserfs_fs_sb.h
-@@ -156,7 +156,7 @@ struct reiserfs_journal_list {
-       atomic_t j_commit_left;
-       atomic_t j_older_commits_done;  /* all commits older than this on disk */
-       struct mutex j_commit_mutex;
--      unsigned long j_trans_id;
-+      unsigned int j_trans_id;
-       time_t j_timestamp;
-       struct reiserfs_list_bitmap *j_list_bitmap;
-       struct buffer_head *j_commit_bh;        /* commit buffer head */
-@@ -184,7 +184,7 @@ struct reiserfs_journal {
-       int j_1st_reserved_block;       /* first block on s_dev of reserved area journal */
-       unsigned long j_state;
--      unsigned long j_trans_id;
-+      unsigned int j_trans_id;
-       unsigned long j_mount_id;
-       unsigned long j_start;  /* start of current waiting commit (index into j_ap_blocks) */
-       unsigned long j_len;    /* length of current waiting commit */
-@@ -225,10 +225,10 @@ struct reiserfs_journal {
-       int j_num_work_lists;   /* number that need attention from kreiserfsd */
-       /* debugging to make sure things are flushed in order */
--      int j_last_flush_id;
-+      unsigned int j_last_flush_id;
-       /* debugging to make sure things are committed in order */
--      int j_last_commit_id;
-+      unsigned int j_last_commit_id;
-       struct list_head j_bitmap_nodes;
-       struct list_head j_dirty_buffers;