Whamcloud - gitweb
partial merge of b_unify into b_devel (20030722_0202)
authorphil <phil>
Tue, 22 Jul 2003 13:50:45 +0000 (13:50 +0000)
committerphil <phil>
Tue, 22 Jul 2003 13:50:45 +0000 (13:50 +0000)
lustre/kernel_patches/patches/jbd-transno-cb.patch [deleted file]
lustre/kernel_patches/pc/jbd-transno-cb.pc [deleted file]
lustre/kernel_patches/series/chaos [deleted file]
lustre/kernel_patches/series/rh-2.4.18-18 [deleted file]

diff --git a/lustre/kernel_patches/patches/jbd-transno-cb.patch b/lustre/kernel_patches/patches/jbd-transno-cb.patch
deleted file mode 100644 (file)
index ceb086d..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-
-
-
- fs/jbd/commit.c      |   27 +++++++++++++++++++++---
- fs/jbd/journal.c     |    1 
- fs/jbd/transaction.c |   56 ++++++++++++++++++++++++++++++++++++++++-----------
- include/linux/jbd.h  |   20 ++++++++++++++++++
- 4 files changed, 90 insertions(+), 14 deletions(-)
-
---- linux-2.4.19/fs/jbd/commit.c~vanilla-2.4.19        Sun Jan 19 19:46:42 2003
-+++ linux-2.4.19-root/fs/jbd/commit.c  Sun Jan 19 19:46:42 2003
-@@ -475,7 +475,7 @@ start_journal_io:
-            transaction's t_log_list queue, and metadata buffers are on
-            the t_iobuf_list queue.
--         Wait for the transactions in reverse order.  That way we are
-+         Wait for the buffers in reverse order.  That way we are
-          less likely to be woken up until all IOs have completed, and
-          so we incur less scheduling load.
-       */
-@@ -566,8 +566,10 @@ start_journal_io:
-       jbd_debug(3, "JBD: commit phase 6\n");
--      if (is_journal_aborted(journal))
-+      if (is_journal_aborted(journal)) {
-+              unlock_journal(journal);
-               goto skip_commit;
-+      }
-       /* Done it all: now write the commit record.  We should have
-        * cleaned up our previous buffers by now, so if we are in abort
-@@ -577,6 +579,7 @@ start_journal_io:
-       descriptor = journal_get_descriptor_buffer(journal);
-       if (!descriptor) {
-               __journal_abort_hard(journal);
-+              unlock_journal(journal);
-               goto skip_commit;
-       }
-       
-@@ -600,7 +603,6 @@ start_journal_io:
-               put_bh(bh);             /* One for getblk() */
-               journal_unlock_journal_head(descriptor);
-       }
--      lock_journal(journal);
-       /* End of a transaction!  Finally, we can do checkpoint
-            processing: any buffers committed as a result of this
-@@ -609,6 +611,25 @@ start_journal_io:
- skip_commit:
-+      /* Call any callbacks that had been registered for handles in this
-+       * transaction.  It is up to the callback to free any allocated
-+       * memory.
-+       */
-+      if (!list_empty(&commit_transaction->t_jcb)) {
-+              struct list_head *p, *n;
-+              int error = is_journal_aborted(journal);
-+
-+              list_for_each_safe(p, n, &commit_transaction->t_jcb) {
-+                      struct journal_callback *jcb;
-+
-+                      jcb = list_entry(p, struct journal_callback, jcb_list);
-+                      list_del(p);
-+                      jcb->jcb_func(jcb, error);
-+              }
-+      }
-+
-+      lock_journal(journal);
-+
-       jbd_debug(3, "JBD: commit phase 7\n");
-       J_ASSERT(commit_transaction->t_sync_datalist == NULL);
---- linux-2.4.19/fs/jbd/journal.c~vanilla-2.4.19       Sun Jan 19 19:46:42 2003
-+++ linux-2.4.19-root/fs/jbd/journal.c Sun Jan 19 19:46:42 2003
-@@ -58,6 +58,7 @@ EXPORT_SYMBOL(journal_sync_buffer);
- #endif
- EXPORT_SYMBOL(journal_flush);
- EXPORT_SYMBOL(journal_revoke);
-+EXPORT_SYMBOL(journal_callback_set);
- EXPORT_SYMBOL(journal_init_dev);
- EXPORT_SYMBOL(journal_init_inode);
---- linux-2.4.19/fs/jbd/transaction.c~vanilla-2.4.19   Sun Jan 19 19:46:42 2003
-+++ linux-2.4.19-root/fs/jbd/transaction.c     Sun Jan 19 19:46:42 2003
-@@ -57,6 +57,7 @@ static transaction_t * get_transaction (
-       transaction->t_state = T_RUNNING;
-       transaction->t_tid = journal->j_transaction_sequence++;
-       transaction->t_expires = jiffies + journal->j_commit_interval;
-+      INIT_LIST_HEAD(&transaction->t_jcb);
-       /* Set up the commit timer for the new transaction. */
-       J_ASSERT (!journal->j_commit_timer_active);
-@@ -201,6 +202,20 @@ repeat_locked:
-       return 0;
- }
-+/* Allocate a new handle.  This should probably be in a slab... */
-+static handle_t *new_handle(int nblocks)
-+{
-+      handle_t *handle = jbd_kmalloc(sizeof (handle_t), GFP_NOFS);
-+      if (!handle)
-+              return NULL;
-+      memset(handle, 0, sizeof (handle_t));
-+      handle->h_buffer_credits = nblocks;
-+      handle->h_ref = 1;
-+      INIT_LIST_HEAD(&handle->h_jcb);
-+
-+      return handle;
-+}
-+
- /*
-  * Obtain a new handle.  
-  *
-@@ -227,14 +242,11 @@ handle_t *journal_start(journal_t *journ
-               handle->h_ref++;
-               return handle;
-       }
--      
--      handle = jbd_kmalloc(sizeof (handle_t), GFP_NOFS);
-+
-+      handle = new_handle(nblocks);
-       if (!handle)
-               return ERR_PTR(-ENOMEM);
--      memset (handle, 0, sizeof (handle_t));
--      handle->h_buffer_credits = nblocks;
--      handle->h_ref = 1;
-       current->journal_info = handle;
-       err = start_this_handle(journal, handle);
-@@ -333,14 +345,11 @@ handle_t *journal_try_start(journal_t *j
-       
-       if (is_journal_aborted(journal))
-               return ERR_PTR(-EIO);
--      
--      handle = jbd_kmalloc(sizeof (handle_t), GFP_NOFS);
-+
-+      handle = new_handle(nblocks);
-       if (!handle)
-               return ERR_PTR(-ENOMEM);
--      memset (handle, 0, sizeof (handle_t));
--      handle->h_buffer_credits = nblocks;
--      handle->h_ref = 1;
-       current->journal_info = handle;
-       err = try_start_this_handle(journal, handle);
-@@ -1328,6 +1337,28 @@ out:
- #endif
- /*
-+ * Register a callback function for this handle.  The function will be
-+ * called when the transaction that this handle is part of has been
-+ * committed to disk with the original callback data struct and the
-+ * error status of the journal as parameters.  There is no guarantee of
-+ * ordering between handles within a single transaction, nor between
-+ * callbacks registered on the same handle.
-+ *
-+ * The caller is responsible for allocating the journal_callback struct.
-+ * This is to allow the caller to add as much extra data to the callback
-+ * as needed, but reduce the overhead of multiple allocations.  The caller
-+ * allocated struct must start with a struct journal_callback at offset 0,
-+ * and has the caller-specific data afterwards.
-+ */
-+void journal_callback_set(handle_t *handle,
-+                        void (*func)(struct journal_callback *jcb, int error),
-+                        struct journal_callback *jcb)
-+{
-+      list_add(&jcb->jcb_list, &handle->h_jcb);
-+      jcb->jcb_func = func;
-+}
-+
-+/*
-  * All done for a particular handle.
-  *
-  * There is not much action needed here.  We just return any remaining
-@@ -1393,7 +1424,10 @@ int journal_stop(handle_t *handle)
-                       wake_up(&journal->j_wait_transaction_locked);
-       }
--      /* 
-+      /* Move callbacks from the handle to the transaction. */
-+      list_splice(&handle->h_jcb, &transaction->t_jcb);
-+
-+      /*
-        * If the handle is marked SYNC, we need to set another commit
-        * going!  We also want to force a commit if the current
-        * transaction is occupying too much of the log, or if the
---- linux-2.4.19/include/linux/jbd.h~vanilla-2.4.19    Sun Jan 19 19:46:42 2003
-+++ linux-2.4.19-root/include/linux/jbd.h      Sun Jan 19 19:46:42 2003
-@@ -249,6 +249,13 @@ static inline struct journal_head *bh2jh
-       return bh->b_private;
- }
-+#define HAVE_JOURNAL_CALLBACK_STATUS
-+struct journal_callback {
-+      struct list_head jcb_list;
-+      void (*jcb_func)(struct journal_callback *jcb, int error);
-+      /* user data goes here */
-+};
-+
- struct jbd_revoke_table_s;
- /* The handle_t type represents a single atomic update being performed
-@@ -279,6 +286,12 @@ struct handle_s 
-          operations */
-       int                     h_err;
-+      /* List of application registered callbacks for this handle.
-+       * The function(s) will be called after the transaction that
-+       * this handle is part of has been committed to disk.
-+       */
-+      struct list_head        h_jcb;
-+
-       /* Flags */
-       unsigned int    h_sync:         1;      /* sync-on-close */
-       unsigned int    h_jdata:        1;      /* force data journaling */
-@@ -398,6 +411,10 @@ struct transaction_s 
-       /* How many handles used this transaction? */
-       int t_handle_count;
-+
-+      /* List of registered callback functions for this transaction.
-+       * Called when the transaction is committed. */
-+      struct list_head        t_jcb;
- };
-@@ -646,6 +663,9 @@ extern int  journal_flushpage(journal_t 
- extern int     journal_try_to_free_buffers(journal_t *, struct page *, int);
- extern int     journal_stop(handle_t *);
- extern int     journal_flush (journal_t *);
-+extern void    journal_callback_set(handle_t *handle,
-+                                    void (*fn)(struct journal_callback *,int),
-+                                    struct journal_callback *jcb);
- extern void    journal_lock_updates (journal_t *);
- extern void    journal_unlock_updates (journal_t *);
diff --git a/lustre/kernel_patches/pc/jbd-transno-cb.pc b/lustre/kernel_patches/pc/jbd-transno-cb.pc
deleted file mode 100644 (file)
index cde73d8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-fs/jbd/commit.c
-fs/jbd/journal.c
-fs/jbd/transaction.c
-include/linux/jbd.h
diff --git a/lustre/kernel_patches/series/chaos b/lustre/kernel_patches/series/chaos
deleted file mode 100644 (file)
index b5f500c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-dev_read_only.patch
-exports.patch
-kmem_cache_validate.patch
-lustre_version.patch
-vfs_intent-2.4.18-18-chaos65.patch
-invalidate_show.patch
-iod-rmap-exports.patch
-export-truncate.patch
-htree-ext3-2.4.18.patch
-linux-2.4.18ea-0.8.26.patch
-ext3-2.4-ino_t.patch
-ext3-2.4.18-ino_sb_macro.patch
-ext3-orphan_lock.patch
-ext3-delete_thread-2.4.18.patch
-extN-misc-fixup.patch
-extN-noread.patch
-extN-wantedi.patch
-extN-san.patch
-extN-2.4.18-ino_sb_fixup.patch
-ext3-map_inode_page.patch
-iopen-2.4.18.patch
diff --git a/lustre/kernel_patches/series/rh-2.4.18-18 b/lustre/kernel_patches/series/rh-2.4.18-18
deleted file mode 100644 (file)
index df7f536..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-dev_read_only.patch
-exports.patch
-kmem_cache_validate.patch
-lustre_version.patch
-uml_check_get_page.patch
-uml_no_panic.patch
-vfs_intent-2.4.18-18.patch
-uml_compile_fixes.patch
-invalidate_show.patch
-export-truncate.patch
-iod-rmap-exports.patch
-htree-ext3-2.4.18.patch
-linux-2.4.18ea-0.8.26.patch
-ext3-2.4-ino_t.patch
-ext3-2.4.18-ino_sb_macro.patch
-ext3-orphan_lock.patch
-ext3-delete_thread-2.4.18.patch
-extN-misc-fixup.patch
-extN-noread.patch
-extN-wantedi.patch
-extN-san.patch
-extN-2.4.18-ino_sb_fixup.patch
-iopen-2.4.18.patch
-tcp-zero-copy.patch