]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
[XFS] rename various pagebuf symbols to xfsbuf
authorChristoph Hellwig <hch@sgi.com>
Tue, 21 Jun 2005 05:14:01 +0000 (15:14 +1000)
committerNathan Scott <nathans@sgi.com>
Tue, 21 Jun 2005 05:14:01 +0000 (15:14 +1000)
SGI-PV: 908809
SGI-Modid: xfs-linux:xfs-kern:192348a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
fs/xfs/linux-2.6/xfs_buf.c

index 997963e5362234809dbd14b6a4a52eb1628a75d5..f5676ed5136da81424605e0b3178fbba54233929 100644 (file)
  * File wide globals
  */
 
-STATIC kmem_cache_t *pagebuf_cache;
+STATIC kmem_cache_t *pagebuf_zone;
 STATIC kmem_shaker_t pagebuf_shake;
-STATIC int pagebuf_daemon_wakeup(int, unsigned int);
+STATIC int xfsbufd_wakeup(int, unsigned int);
 STATIC void pagebuf_delwri_queue(xfs_buf_t *, int);
-STATIC struct workqueue_struct *pagebuf_logio_workqueue;
-STATIC struct workqueue_struct *pagebuf_dataio_workqueue;
+
+STATIC struct workqueue_struct *xfslogd_workqueue;
+STATIC struct workqueue_struct *xfsdatad_workqueue;
 
 /*
  * Pagebuf debugging
@@ -123,9 +124,9 @@ ktrace_t *pagebuf_trace_buf;
 
 
 #define pagebuf_allocate(flags) \
-       kmem_zone_alloc(pagebuf_cache, pb_to_km(flags))
+       kmem_zone_alloc(pagebuf_zone, pb_to_km(flags))
 #define pagebuf_deallocate(pb) \
-       kmem_zone_free(pagebuf_cache, (pb));
+       kmem_zone_free(pagebuf_zone, (pb));
 
 /*
  * Page Region interfaces.
@@ -425,7 +426,7 @@ _pagebuf_lookup_pages(
                                        __FUNCTION__, gfp_mask);
 
                        XFS_STATS_INC(pb_page_retries);
-                       pagebuf_daemon_wakeup(0, gfp_mask);
+                       xfsbufd_wakeup(0, gfp_mask);
                        blk_congestion_wait(WRITE, HZ/50);
                        goto retry;
                }
@@ -1136,8 +1137,8 @@ pagebuf_iodone(
        if ((pb->pb_iodone) || (pb->pb_flags & PBF_ASYNC)) {
                if (schedule) {
                        INIT_WORK(&pb->pb_iodone_work, pagebuf_iodone_work, pb);
-                       queue_work(dataio ? pagebuf_dataio_workqueue :
-                               pagebuf_logio_workqueue, &pb->pb_iodone_work);
+                       queue_work(dataio ? xfsdatad_workqueue :
+                               xfslogd_workqueue, &pb->pb_iodone_work);
                } else {
                        pagebuf_iodone_work(pb);
                }
@@ -1742,27 +1743,27 @@ pagebuf_runall_queues(
 }
 
 /* Defines for pagebuf daemon */
-STATIC DECLARE_COMPLETION(pagebuf_daemon_done);
-STATIC struct task_struct *pagebuf_daemon_task;
-STATIC int pagebuf_daemon_active;
-STATIC int force_flush;
-STATIC int force_sleep;
+STATIC DECLARE_COMPLETION(xfsbufd_done);
+STATIC struct task_struct *xfsbufd_task;
+STATIC int xfsbufd_active;
+STATIC int xfsbufd_force_flush;
+STATIC int xfsbufd_force_sleep;
 
 STATIC int
-pagebuf_daemon_wakeup(
+xfsbufd_wakeup(
        int                     priority,
        unsigned int            mask)
 {
-       if (force_sleep)
+       if (xfsbufd_force_sleep)
                return 0;
-       force_flush = 1;
+       xfsbufd_force_flush = 1;
        barrier();
-       wake_up_process(pagebuf_daemon_task);
+       wake_up_process(xfsbufd_task);
        return 0;
 }
 
 STATIC int
-pagebuf_daemon(
+xfsbufd(
        void                    *data)
 {
        struct list_head        tmp;
@@ -1774,17 +1775,17 @@ pagebuf_daemon(
        daemonize("xfsbufd");
        current->flags |= PF_MEMALLOC;
 
-       pagebuf_daemon_task = current;
-       pagebuf_daemon_active = 1;
+       xfsbufd_task = current;
+       xfsbufd_active = 1;
        barrier();
 
        INIT_LIST_HEAD(&tmp);
        do {
                if (unlikely(current->flags & PF_FREEZE)) {
-                       force_sleep = 1;
+                       xfsbufd_force_sleep = 1;
                        refrigerator(PF_FREEZE);
                } else {
-                       force_sleep = 0;
+                       xfsbufd_force_sleep = 0;
                }
 
                set_current_state(TASK_INTERRUPTIBLE);
@@ -1797,7 +1798,7 @@ pagebuf_daemon(
                        ASSERT(pb->pb_flags & PBF_DELWRI);
 
                        if (!pagebuf_ispin(pb) && !pagebuf_cond_lock(pb)) {
-                               if (!force_flush &&
+                               if (!xfsbufd_force_flush &&
                                    time_before(jiffies,
                                                pb->pb_queuetime + age)) {
                                        pagebuf_unlock(pb);
@@ -1824,10 +1825,10 @@ pagebuf_daemon(
                if (as_list_len > 0)
                        purge_addresses();
 
-               force_flush = 0;
-       } while (pagebuf_daemon_active);
+               xfsbufd_force_flush = 0;
+       } while (xfsbufd_active);
 
-       complete_and_exit(&pagebuf_daemon_done, 0);
+       complete_and_exit(&xfsbufd_done, 0);
 }
 
 /*
@@ -1844,8 +1845,8 @@ xfs_flush_buftarg(
        xfs_buf_t               *pb, *n;
        int                     pincount = 0;
 
-       pagebuf_runall_queues(pagebuf_dataio_workqueue);
-       pagebuf_runall_queues(pagebuf_logio_workqueue);
+       pagebuf_runall_queues(xfsdatad_workqueue);
+       pagebuf_runall_queues(xfslogd_workqueue);
 
        INIT_LIST_HEAD(&tmp);
        spin_lock(&pbd_delwrite_lock);
@@ -1898,43 +1899,43 @@ xfs_flush_buftarg(
 }
 
 STATIC int
-pagebuf_daemon_start(void)
+xfs_buf_daemons_start(void)
 {
-       int             rval;
+       int             error = -ENOMEM;
 
-       pagebuf_logio_workqueue = create_workqueue("xfslogd");
-       if (!pagebuf_logio_workqueue)
-               return -ENOMEM;
+       xfslogd_workqueue = create_workqueue("xfslogd");
+       if (!xfslogd_workqueue)
+               goto out;
 
-       pagebuf_dataio_workqueue = create_workqueue("xfsdatad");
-       if (!pagebuf_dataio_workqueue) {
-               destroy_workqueue(pagebuf_logio_workqueue);
-               return -ENOMEM;
-       }
+       xfsdatad_workqueue = create_workqueue("xfsdatad");
+       if (!xfsdatad_workqueue)
+               goto out_destroy_xfslogd_workqueue;
 
-       rval = kernel_thread(pagebuf_daemon, NULL, CLONE_FS|CLONE_FILES);
-       if (rval < 0) {
-               destroy_workqueue(pagebuf_logio_workqueue);
-               destroy_workqueue(pagebuf_dataio_workqueue);
-       }
+       error = kernel_thread(xfsbufd, NULL, CLONE_FS|CLONE_FILES);
+       if (error < 0)
+               goto out_destroy_xfsdatad_workqueue;
+       return 0;
 
-       return rval;
+ out_destroy_xfsdatad_workqueue:
+       destroy_workqueue(xfsdatad_workqueue);
+ out_destroy_xfslogd_workqueue:
+       destroy_workqueue(xfslogd_workqueue);
+ out:
+       return error;
 }
 
 /*
- * pagebuf_daemon_stop
- *
  * Note: do not mark as __exit, it is called from pagebuf_terminate.
  */
 STATIC void
-pagebuf_daemon_stop(void)
+xfs_buf_daemons_stop(void)
 {
-       pagebuf_daemon_active = 0;
+       xfsbufd_active = 0;
        barrier();
-       wait_for_completion(&pagebuf_daemon_done);
+       wait_for_completion(&xfsbufd_done);
 
-       destroy_workqueue(pagebuf_logio_workqueue);
-       destroy_workqueue(pagebuf_dataio_workqueue);
+       destroy_workqueue(xfslogd_workqueue);
+       destroy_workqueue(xfsdatad_workqueue);
 }
 
 /*
@@ -1944,27 +1945,37 @@ pagebuf_daemon_stop(void)
 int __init
 pagebuf_init(void)
 {
-       pagebuf_cache = kmem_cache_create("xfs_buf_t", sizeof(xfs_buf_t), 0,
-                       SLAB_HWCACHE_ALIGN, NULL, NULL);
-       if (pagebuf_cache == NULL) {
-               printk("XFS: couldn't init xfs_buf_t cache\n");
-               pagebuf_terminate();
-               return -ENOMEM;
-       }
+       int             error = -ENOMEM;
+
+       pagebuf_zone = kmem_zone_init(sizeof(xfs_buf_t), "xfs_buf");
+       if (!pagebuf_zone)
+               goto out;
 
 #ifdef PAGEBUF_TRACE
        pagebuf_trace_buf = ktrace_alloc(PAGEBUF_TRACE_SIZE, KM_SLEEP);
 #endif
 
-       pagebuf_daemon_start();
+       error = xfs_buf_daemons_start();
+       if (!error)
+               goto out_free_buf_zone;
 
-       pagebuf_shake = kmem_shake_register(pagebuf_daemon_wakeup);
-       if (pagebuf_shake == NULL) {
-               pagebuf_terminate();
-               return -ENOMEM;
+       pagebuf_shake = kmem_shake_register(xfsbufd_wakeup);
+       if (!pagebuf_shake) {
+               error = -ENOMEM;
+               goto out_stop_daemons;
        }
 
        return 0;
+
+ out_stop_daemons:
+       xfs_buf_daemons_stop();
+ out_free_buf_zone:
+#ifdef PAGEBUF_TRACE
+       ktrace_free(pagebuf_trace_buf);
+#endif
+       kmem_zone_destroy(pagebuf_zone);
+ out:
+       return error;
 }
 
 
@@ -1976,12 +1987,12 @@ pagebuf_init(void)
 void
 pagebuf_terminate(void)
 {
-       pagebuf_daemon_stop();
+       xfs_buf_daemons_stop();
 
 #ifdef PAGEBUF_TRACE
        ktrace_free(pagebuf_trace_buf);
 #endif
 
-       kmem_zone_destroy(pagebuf_cache);
+       kmem_zone_destroy(pagebuf_zone);
        kmem_shake_deregister(pagebuf_shake);
 }