move all projects into the trunk directory
[lttv.git] / ltt / branches / poly / lttv / modules / gui / diskperformance / diskperformance.c
diff --git a/ltt/branches/poly/lttv/modules/gui/diskperformance/diskperformance.c b/ltt/branches/poly/lttv/modules/gui/diskperformance/diskperformance.c
deleted file mode 100644 (file)
index d09da7e..0000000
+++ /dev/null
@@ -1,1270 +0,0 @@
-/* This file is part of the Linux Trace Toolkit viewer
- * Copyright (C) 2005 Peter Ho
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License Version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, 
- * MA 02111-1307, USA.
- */
-#include <math.h>
-
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <gdk/gdk.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ltt/ltt.h>
-#include <ltt/event.h>
-#include <ltt/trace.h>
-#include <lttv/module.h>
-#include <lttv/hook.h>
-#include <lttv/tracecontext.h>
-#include <lttv/state.h>
-#include <lttv/filter.h>
-#include <lttvwindow/lttvwindow.h>
-#include <lttvwindow/lttv_plugin_tab.h>
-#include <ltt/time.h>
-
-#include "hDiskPerformanceInsert.xpm" 
-
-
-#define g_info(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format)
-#define g_debug(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, format)
-// fixed #define TRACE_NUMBER 0
-#define NO_ITEMS 0
-
-enum{
-  DISKNAME_COLUMN,
-  BYTES_RD_COLUMN,
-  BYTES_RD_SEC_COLUMN,
-  NUM_RD_COLUMN,
-  BYTES_WR_COLUMN,
-  BYTES_WR_SEC_COLUMN,
-  NUM_WR_COLUMN,
-  N_COLUMNS
-};
-
-enum operation_t {
-     LTTV_READ_OPERATION = 1,  
-     LTTV_WRITE_OPERATION
-};
-
-typedef struct _DiskPerformanceData {
-
-  Tab       * tab;
-
-  LttvPluginTab *ptab;
-   
-  LttvHooks  * hooks_trace_after;
-  
-  LttvHooks  * hooks_trace_before;
-  /* time window */
-  TimeWindow   time_window;
-      
-  GtkWidget * scroll_win;
-  
-  /* Model containing list data */
-  GtkListStore *store_m;
-  
-  GtkWidget *hbox_v;
-  
-  /* Widget to display the data in a columned list */
-  GtkWidget *tree_v;
-  
-  /* Selection handler */
-  GtkTreeSelection *select_c;
-  
-  GArray *disk_array; 
-  
-  LttvHooksById * event_by_id_hooks;
-  
-} DiskPerformanceData;
-
-
-typedef struct _lttv_block { 
-       guint major_number;
-       guint minor_number;
-       guint size;
-} lttv_block;
-
-typedef struct _lttv_total_block {
-       char diskname[10];
-       guint64 total_bytes_read;
-       guint num_read_operations;
-       guint64 total_bytes_written;
-       guint num_write_operations;
-        
-} lttv_total_block;
-
-GSList *g_disk_data_list = NULL ;
-
-
-
-/* facility */
-GQuark LTT_FACILITY_BLOCK;   
-
-/* events */
-GQuark LTT_EVENT_BLOCK_READ;  
-GQuark LTT_EVENT_BLOCK_WRITE;   
-
-static DiskPerformanceData *disk_performance_data(LttvPluginTab *ptab);
-static void disk_destroy_walk(gpointer data, gpointer user_data);
-static gboolean disk_show(void *hook_data, void *call_data);
-static gboolean trace_header(void *hook_data, void *call_data);
-static gboolean disk_update_time_window(void * hook_data, void * call_data);
-static void request_event(  DiskPerformanceData *disk_performance);
-void gui_disperformance_free(DiskPerformanceData *event_viewer_data);
-static void get_event_detail(LttEvent *e, lttv_block* disk_data);
-static char * major_minor_to_diskname( lttv_block* disk_data); 
-static void sum_data(char* diskname, guint size, enum operation_t opt, GArray *disk_array);
-static GtkWidget *disk_performance(LttvPlugin *plugin);
-
-static gboolean block_read_callback(void *hook_data, void *call_data);
-
-static gboolean block_write_callback(void *hook_data, void *call_data);
-
-static gboolean disk_show(void *hook_data, void *call_data){
-  
-  guint i;
-  lttv_total_block element; 
-  GtkTreeIter    iter;
-  LttTime time_interval;
-  guint64 time_interval_64;
-  guint64 temp_variable; 
-  guint64 bytes_read_per_sec, bytes_written_per_sec;
-  g_info(" diskperformance: disk_show() \n");
-  DiskPerformanceData *disk_performance = (DiskPerformanceData *)hook_data;
-  GArray *disk_array = disk_performance->disk_array;
-  time_interval =  ltt_time_sub(disk_performance->time_window.end_time, disk_performance->time_window.start_time); 
-  
-  time_interval_64  = time_interval.tv_sec;
-  time_interval_64 *= NANOSECONDS_PER_SECOND;
-  time_interval_64 += time_interval.tv_nsec;
-  gtk_list_store_clear(disk_performance->store_m);
-  for(i = 0; i < disk_array->len; i++){  
-    
-    element = g_array_index(disk_array,lttv_total_block,i);  
-    temp_variable =  element.total_bytes_read * NANOSECONDS_PER_SECOND;
-    bytes_read_per_sec = (guint64) temp_variable / time_interval_64;
-    
-    temp_variable =  element.total_bytes_written * NANOSECONDS_PER_SECOND;
-    bytes_written_per_sec  = (guint64) temp_variable / time_interval_64;
-    
-    gtk_list_store_append (disk_performance->store_m, &iter);
-    gtk_list_store_set (disk_performance->store_m, &iter,
-      DISKNAME_COLUMN, element.diskname,
-      BYTES_RD_COLUMN, element.total_bytes_read,
-      BYTES_RD_SEC_COLUMN,bytes_read_per_sec,
-      NUM_RD_COLUMN, element.num_read_operations,
-      BYTES_WR_COLUMN, element.total_bytes_written,
-      BYTES_WR_SEC_COLUMN, bytes_written_per_sec,
-      NUM_WR_COLUMN, element.num_write_operations,
-      -1); 
-       
-  }
-  if(disk_performance->disk_array->len) 
-    g_array_remove_range (disk_performance->disk_array,0,disk_performance->disk_array->len);
-  return FALSE;
-}
-
-static gboolean trace_header(void *hook_data, void *call_data){
-  return FALSE;
-}
-
-
-static gboolean disk_update_time_window(void * hook_data, void * call_data){
-     
-  DiskPerformanceData *disk_performance = (DiskPerformanceData *) hook_data;
-  const TimeWindowNotifyData *time_window_nofify_data =  ((const TimeWindowNotifyData *)call_data);
-  disk_performance->time_window = *time_window_nofify_data->new_time_window;
-  Tab *tab = disk_performance->tab;
-  lttvwindow_events_request_remove_all(tab, disk_performance);
-  request_event( disk_performance);  
-   
-  
-    return FALSE;
-}
-void gui_disperformance_free(DiskPerformanceData  *eventdata){ 
-  Tab *tab = eventdata->tab;
-  g_info("disperformance.c : gui_disperformance_free, %p", eventdata);
-  g_info("%p, %p", eventdata, tab);
-  if(tab != NULL)
-  {
-     g_array_free (eventdata->disk_array, TRUE);
-     
-     lttvwindow_unregister_time_window_notify(tab,
-        disk_update_time_window,
-        eventdata);
-       
-     lttvwindow_events_request_remove_all(eventdata->tab,
-                                          eventdata);  
-     g_disk_data_list = g_slist_remove(g_disk_data_list, eventdata);                                     
-  }
-  g_free(eventdata);                                     
-  g_info("disperformance.c : gui_disperformance_free end, %p", eventdata);
-}
-  
-
-
-
-
-void disk_destructor_full(DiskPerformanceData *disk_data)
-{
-
-  if(GTK_IS_WIDGET(disk_data->hbox_v))
-    gtk_widget_destroy(disk_data->hbox_v);
-
-}
-
-static void disk_destroy_walk(gpointer data, gpointer user_data)
-{
-  g_info("Walk destroy GUI disk performance Viewer");
-  disk_destructor_full((DiskPerformanceData*)data);
-}
-/**
- *  init function
- *
- * 
- * This is the entry point of the viewer.
- *
- */
-static void init()
-{
-  
-  g_info("Init diskPerformance.c");
-  
-  LTT_FACILITY_BLOCK    = g_quark_from_string("block");
-  LTT_EVENT_BLOCK_READ  =  g_quark_from_string("read");   
-  LTT_EVENT_BLOCK_WRITE = g_quark_from_string("write"); 
-  
-  lttvwindow_register_constructor("diskperformance",
-                                  "/",
-                                  "Insert Disk Performance",
-                                  hDiskPerformanceInsert_xpm,
-                                  "Insert Disk Performance",
-                                  disk_performance);
-}
-
-/**
- *  Constructor hook
- *
- */
-GtkWidget *disk_performance(LttvPlugin *plugin)
-{
-  LttvPluginTab *ptab = LTTV_PLUGIN_TAB(plugin);
-  DiskPerformanceData* disk_data = disk_performance_data(ptab);
-  if(disk_data)
-    return disk_data->hbox_v;
-  else 
-    return NULL; 
-}
-
-/**
- * This function initializes the Event Viewer functionnality through the
- * GTK  API. 
- */
-DiskPerformanceData *disk_performance_data(LttvPluginTab *ptab)
-{ 
-  LttTime end;
-  GtkTreeViewColumn *column;
-  GtkCellRenderer *renderer;
-  DiskPerformanceData* disk_data = g_new(DiskPerformanceData,1) ;
-  
-  g_info("enter disk_performance_data \n");
-  Tab *tab = ptab->tab;
-  disk_data->tab = tab;
-  disk_data->ptab = ptab;
-  disk_data->time_window  =  lttvwindow_get_time_window(tab);
-  
-  disk_data->disk_array = g_array_new(FALSE, FALSE, sizeof(lttv_total_block ));
-  
-  lttvwindow_register_time_window_notify(tab,
-                                         disk_update_time_window,
-                                         disk_data);   
-                                               
-  disk_data->scroll_win = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_show (disk_data->scroll_win);
-  gtk_scrolled_window_set_policy(
-      GTK_SCROLLED_WINDOW(disk_data->scroll_win), 
-      GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-  
-  /* Create a model for storing the data list */
-  disk_data->store_m = gtk_list_store_new (
-    N_COLUMNS,      /* Total number of columns     */
-    G_TYPE_STRING,     /* Diskname                 */  
-    G_TYPE_INT64,     /* Bytes read                */
-    G_TYPE_INT64,     /* Bytes read/sec           */
-    G_TYPE_INT,
-    G_TYPE_INT64,    /*  bytes written             */
-    G_TYPE_INT64,    /*  bytes written/sec         */
-    G_TYPE_INT
-    );  
-  disk_data->tree_v = gtk_tree_view_new_with_model (GTK_TREE_MODEL (disk_data->store_m));
-   
-  g_object_unref (G_OBJECT (disk_data->store_m));
-    
-  renderer = gtk_cell_renderer_text_new ();
-  
-  column = gtk_tree_view_column_new_with_attributes ("DiskName",
-                 renderer,
-                 "text", DISKNAME_COLUMN,
-                 NULL);
-  gtk_tree_view_column_set_alignment (column, 0.0);
-  gtk_tree_view_column_set_fixed_width (column, 45);
-  gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column);
-  
-  renderer = gtk_cell_renderer_text_new ();
-  column = gtk_tree_view_column_new_with_attributes ("BytesRead",
-                 renderer,
-                 "text", BYTES_RD_COLUMN,
-                 NULL);
-  gtk_tree_view_column_set_alignment (column, 0.0);
-  gtk_tree_view_column_set_fixed_width (column,  220);
-  gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column);
-
-  renderer = gtk_cell_renderer_text_new ();
-  column = gtk_tree_view_column_new_with_attributes ("BytesRead/sec",
-                 renderer,
-                 "text", BYTES_RD_SEC_COLUMN,
-                 NULL);
-  gtk_tree_view_column_set_alignment (column, 1.0);
-  gtk_tree_view_column_set_fixed_width (column, 220);
-  gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column);
-
-  renderer = gtk_cell_renderer_text_new ();
-  column = gtk_tree_view_column_new_with_attributes ("NumReadOperations",
-                 renderer,
-                 "text",NUM_RD_COLUMN,
-                 NULL);
-  gtk_tree_view_column_set_alignment (column, 1.0);
-  gtk_tree_view_column_set_fixed_width (column, 220);
-  gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column);
-
-  renderer = gtk_cell_renderer_text_new ();
-  column = gtk_tree_view_column_new_with_attributes ("BytesWritten",
-                 renderer,
-                 "text", BYTES_WR_COLUMN,
-                 NULL);
-  gtk_tree_view_column_set_alignment (column, 0.0);
-  gtk_tree_view_column_set_fixed_width (column, 145);
-  gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column);
-
-  renderer = gtk_cell_renderer_text_new ();
-  column = gtk_tree_view_column_new_with_attributes ("BytesWritten/sec",
-                 renderer,
-                 "text", BYTES_WR_SEC_COLUMN,
-                 NULL);
-  gtk_tree_view_column_set_alignment (column, 1.0);
-  gtk_tree_view_column_set_fixed_width (column, 220);
-  gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column);
-  
-  renderer = gtk_cell_renderer_text_new ();
-  column = gtk_tree_view_column_new_with_attributes ("NumWriteOperations",
-                 renderer,
-                 "text",NUM_WR_COLUMN,
-                 NULL);
-  gtk_tree_view_column_set_alignment (column, 0.0);
-  gtk_tree_view_column_set_fixed_width (column, 145);
-  gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column);
-  
-  disk_data->select_c = gtk_tree_view_get_selection (GTK_TREE_VIEW (disk_data->tree_v));
-  gtk_tree_selection_set_mode (disk_data->select_c, GTK_SELECTION_SINGLE);
-   
-  gtk_container_add (GTK_CONTAINER (disk_data->scroll_win), disk_data->tree_v);
-
-  disk_data->hbox_v = gtk_hbox_new(0, 0);
-  gtk_box_pack_start(GTK_BOX(disk_data->hbox_v), disk_data->scroll_win, TRUE, TRUE, 0);
-  
-  gtk_widget_show(disk_data->hbox_v);
-  gtk_widget_show(disk_data->tree_v);
-   
-  g_disk_data_list = g_slist_append(g_disk_data_list, disk_data);
-  g_object_set_data_full(G_OBJECT(disk_data->hbox_v),
-      "disk_data",
-       disk_data,
-      (GDestroyNotify)gui_disperformance_free);
-  
-  request_event(disk_data);
-  return disk_data;
-}
-
-/**
- * 
- * For each trace in the traceset, this function:
- *  - calls lttv_trace_find_hook() & registers a hook function to event_by_id_hooks
- *  - registers a callback function to each hook
- *  - calls lttvwindow_events_request() to request data in a specific 
- *    time interval to the main window
- * 
- */
-static void request_event(DiskPerformanceData *disk_performance)
-{
-  guint i, k, l, nb_trace;
-  
-  GArray *hooks;
-  
-  guint ret; 
-  
-  LttvTraceHook *hook;
-  
-  LttvTraceState *ts;
-    
-  LttvTraceHookByFacility *thf;
-  
-  LttvTracesetContext *tsc = lttvwindow_get_traceset_context(disk_performance->tab);
-  /* Get the traceset */
-  LttvTraceset *traceset = tsc->ts;
-  nb_trace = lttv_traceset_number(traceset);
-    
-  //for(i = 0; i<MIN(TRACE_NUMBER+1, nb_trace);i++) {
-  for(i = 0 ; i < nb_trace ; i++) {
-       EventsRequest *events_request = g_new(EventsRequest, 1);
-       
-       hooks = g_array_new(FALSE, FALSE, sizeof(LttvTraceHook));
-       
-       hooks = g_array_set_size(hooks, 2);
-       
-       /* Get a trace state */
-       ts = (LttvTraceState *)tsc->traces[i];
-        
-       disk_performance->event_by_id_hooks = lttv_hooks_by_id_new();
-       /* Register event_by_id_hooks with a callback function */ 
-        ret = lttv_trace_find_hook(ts->parent.t,
-               LTT_FACILITY_BLOCK, LTT_EVENT_BLOCK_READ,
-               0, 0, 0,
-               block_read_callback,
-               disk_performance,
-               &g_array_index(hooks, LttvTraceHook, 0));
-        
-       ret = lttv_trace_find_hook(ts->parent.t,
-               LTT_FACILITY_BLOCK, LTT_EVENT_BLOCK_WRITE,
-               0, 0, 0,
-               block_write_callback,
-               disk_performance,
-               &g_array_index(hooks, LttvTraceHook, 1));
-               
-       g_assert(!ret);
-       
-       /*iterate through the facility list*/
-       for(k = 0 ; k < hooks->len; k++) 
-       { 
-               hook = &g_array_index(hooks, LttvTraceHook, k);
-               for(l=0; l<hook->fac_list->len; l++) 
-               {
-                       thf = g_array_index(hook->fac_list, LttvTraceHookByFacility*, l); 
-                       lttv_hooks_add(lttv_hooks_by_id_find(disk_performance->event_by_id_hooks, thf->id),
-                               thf->h,
-                               disk_performance,
-                               LTTV_PRIO_DEFAULT);
-                        
-               }
-       }
-       
-       disk_performance->hooks_trace_after = lttv_hooks_new();
-       /* Registers  a hook function */
-       lttv_hooks_add(disk_performance->hooks_trace_after, disk_show, disk_performance, LTTV_PRIO_DEFAULT);
-       
-       disk_performance->hooks_trace_before = lttv_hooks_new();
-       /* Registers  a hook function */
-       lttv_hooks_add(disk_performance->hooks_trace_before, trace_header, disk_performance, LTTV_PRIO_DEFAULT);
-       
-       /* Initalize the EventsRequest structure */
-       events_request->owner       = disk_performance;
-       events_request->viewer_data = disk_performance;
-       events_request->servicing   = FALSE;
-       events_request->start_time  = disk_performance->time_window.start_time;
-       events_request->start_position  = NULL;
-       events_request->stop_flag          = FALSE;
-       events_request->end_time           = disk_performance->time_window.end_time;
-       events_request->num_events         = G_MAXUINT;
-       events_request->end_position       = NULL;
-       events_request->trace              = i;
-       events_request->hooks              = hooks;
-       events_request->before_chunk_traceset = NULL;
-       events_request->before_chunk_trace    = disk_performance->hooks_trace_before;
-       events_request->before_chunk_tracefile= NULL;
-       events_request->event                   = NULL; 
-       events_request->event_by_id             = disk_performance->event_by_id_hooks;
-       events_request->after_chunk_tracefile = NULL;
-       events_request->after_chunk_trace     = NULL;
-       events_request->after_chunk_traceset    = NULL;
-       events_request->before_request  = NULL;
-       events_request->after_request   = disk_performance->hooks_trace_after;
-       
-       lttvwindow_events_request(disk_performance->tab, events_request);
-  }
-   
-}
-
-/**
- *  This function is called whenever a read event occurs.  
- *  
- */ 
-static gboolean block_read_callback(void *hook_data, void *call_data)
-{
-  LttEvent *e;
-  LttTime  event_time; 
-  unsigned cpu_id; 
-  lttv_block block_read;
-  char *diskname;
-  
-  LttvTracefileContext *tfc = (LttvTracefileContext *)call_data;
-  LttvTracefileState *tfs = (LttvTracefileState *)call_data;
-  DiskPerformanceData *disk_performance = (DiskPerformanceData *)hook_data;
-  GArray *disk_array = disk_performance->disk_array; 
-  e = ltt_tracefile_get_event(tfc->tf); 
-  event_time = ltt_event_time(e);
-  cpu_id = ltt_event_cpu_id(e);
-  
-  get_event_detail(e, &block_read);
-  diskname = major_minor_to_diskname(&block_read);
-  sum_data(diskname, block_read.size,LTTV_READ_OPERATION, disk_array);
-  return FALSE;
-}
-
-/**
- *  This function is called whenever a write event occurs.  
- *  
- */ 
-static gboolean block_write_callback(void *hook_data, void *call_data)
-{
-  LttEvent *e;
-  LttTime  event_time; 
-  unsigned cpu_id;
-  lttv_block  block_write;
- char *diskname;
-  LttvTracefileContext *tfc = (LttvTracefileContext *)call_data;
-  LttvTracefileState *tfs = (LttvTracefileState *)call_data;
-  DiskPerformanceData *disk_performance = (DiskPerformanceData *)hook_data;
-  GArray *disk_array = disk_performance->disk_array; 
-  e = ltt_tracefile_get_event(tfc->tf); 
-  event_time = ltt_event_time(e);
-  cpu_id = ltt_event_cpu_id(e);
-  
-  get_event_detail(e, &block_write);
-  diskname = major_minor_to_diskname(&block_write);
-  sum_data(diskname, block_write.size,LTTV_WRITE_OPERATION, disk_array);
-  
- return FALSE;
-}
-
-/**
- *  This function extracts  the major, minor and size 
- *  
- */ 
-static void  get_event_detail(LttEvent *e, lttv_block* disk_data)
-{
-  guint i, num_fields;
-  LttEventType *event_type;
-  LttField *element;  
-  LttField *field;
-  event_type = ltt_event_eventtype(e);
-  num_fields = ltt_eventtype_num_fields(event_type);
-  
-  for(i = 0 ; i < num_fields ; i++) 
-  {
-       element = ltt_eventtype_field(event_type,i);
-       switch(i)
-       {
-         case 0:
-               disk_data->major_number = ltt_event_get_long_unsigned(e, element); 
-         break;
-               
-         case 1:
-               disk_data->minor_number = ltt_event_get_long_unsigned(e, element); 
-         break;
-         case 2:
-               disk_data->size = ltt_event_get_long_unsigned(e, element); 
-         break;
-       }
-        
-  }
-   
-}
-
-
-/**
- *  This function calculates: the number of operations, the total bytes read or written,  
- *  the average number of bytes read or written by sec.
- */ 
-static void sum_data(char* diskname, guint size, enum operation_t operation, GArray *disk_array)
-{
-  
-  lttv_total_block data;
-  lttv_total_block *element; 
-  guint i;
-  gboolean  notFound = FALSE;
-  
-  memset ((void*)&data, 0,sizeof(lttv_total_block));
-   
-  if(disk_array->len == NO_ITEMS){
-       strcpy(data.diskname, diskname);
-       if(operation == LTTV_READ_OPERATION){
-          data.total_bytes_read = size;
-          data.num_read_operations++;
-       }
-       else{
-          data.total_bytes_written = size;
-          data.num_write_operations ++;
-       }
-       g_array_append_val (disk_array, data);
-  } 
-  else{
-       for(i = 0; i < disk_array->len; i++){
-           element = &g_array_index(disk_array,lttv_total_block,i);
-           if(strcmp(element->diskname,diskname) == 0){
-               if(operation == LTTV_READ_OPERATION){
-                 element->num_read_operations++;       
-                 element->total_bytes_read += size;
-               }
-               else{
-                 element->num_write_operations ++;
-                 element->total_bytes_written += size;
-               }
-               notFound = TRUE;
-           }
-       }
-       if(!notFound){
-           strcpy(data.diskname, diskname);
-           if(operation == LTTV_READ_OPERATION){
-             data.total_bytes_read = size;
-             data.num_read_operations ++;
-           }
-           else{
-             data.total_bytes_written = size;
-             data.num_write_operations ++;
-           }
-           g_array_append_val (disk_array, data);
-       }       
-  }
-}
-
-  
-static void destroy()
-{
-  g_info("Destroy diskPerformance");
-  g_slist_foreach(g_disk_data_list, disk_destroy_walk, NULL );
-  g_slist_free(g_disk_data_list);
-  
-  lttvwindow_unregister_constructor(disk_performance);
-  
-}
-
-/**
- *  This function convert  the major and minor  number to the corresponding disk. 
- *  Data taken from Documentation/devices.txt of the kernel tree.
- */ 
-static char * major_minor_to_diskname( lttv_block* disk_data)
-{
-  switch(disk_data->major_number)
-  {
-     /* IDE Disks */
-     case 3: /* First MFM, RLL and IDE hard disk/CD-ROM interface */
-       if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 64))
-         return "/dev/hda";
-        if((disk_data->minor_number >= 64) && (disk_data->minor_number < 128))         
-         return  "/dev/hdb";
-     break;
-     
-     case 22: /*Second IDE hard disk/CD-ROM interface */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 64))
-         return "/dev/hdc";
-        if((disk_data->minor_number >= 64) && (disk_data->minor_number < 128))         
-         return  "/dev/hdd";
-     break;
-       
-     case 33: /* Third IDE hard disk/CD-ROM interface */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 64))
-         return "/dev/hde";
-        if((disk_data->minor_number >= 64) && (disk_data->minor_number < 128))         
-         return  "/dev/hdf";
-     break;
-       
-     case 34: /* Fourth IDE hard disk/CD-ROM interface */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 64))
-         return "/dev/hdg";
-        if((disk_data->minor_number >= 64) && (disk_data->minor_number < 128))         
-         return  "/dev/hdh";
-     break;
-     
-     case 56: /* Fifth IDE hard disk/CD-ROM interface */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 64))
-         return "/dev/hdi";
-        if((disk_data->minor_number >= 64) && (disk_data->minor_number < 128))         
-         return  "/dev/hdj";
-     break;
-     
-     case 57: /* Sixth IDE hard disk/CD-ROM interface */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 64))
-         return "/dev/hdk";
-        if((disk_data->minor_number >= 64) && (disk_data->minor_number < 128))         
-         return  "/dev/hdl";
-     break;
-
-     case 88: /* Seventh IDE hard disk/CD-ROM interface */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 64))
-         return "/dev/hdm";
-        if((disk_data->minor_number >= 64) && (disk_data->minor_number < 128))         
-         return  "/dev/hdn";
-     break;          
-     
-     case  89: /* Eighth IDE hard disk/CD-ROM interface */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 64))
-         return "/dev/hdo";
-        if((disk_data->minor_number >= 64) && (disk_data->minor_number < 128))         
-         return  "/dev/hdp";
-     break;          
-       
-     case  90: /* Ninth IDE hard disk/CD-ROM interface */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 64))
-         return "/dev/hdq";
-        if((disk_data->minor_number >= 64) && (disk_data->minor_number < 128))         
-         return  "/dev/hdr";
-     break;          
-     
-     case  91: /* Tenth IDE hard disk/CD-ROM interface */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 64))
-         return "/dev/hds";
-        if((disk_data->minor_number >= 64) && (disk_data->minor_number < 128))         
-         return  "/dev/hdt";
-     break;          
-     
-     /* SCSI Disks */
-      case  8: /* SCSI disk devices */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 16))
-         return "/dev/sda"; // First SCSI disk whole disk
-        
-       if((disk_data->minor_number >= 16) && (disk_data->minor_number < 32))           
-         return  "/dev/sdb";// Second SCSI disk whole disk
-       
-       if((disk_data->minor_number >= 32) && (disk_data->minor_number < 48))           
-         return  "/dev/sdc";// Third SCSI disk whole disk
-       
-       if((disk_data->minor_number >= 48) && (disk_data->minor_number < 64))           
-         return  "/dev/sdd";// Fourth SCSI disk whole disk         
-       
-       if((disk_data->minor_number >= 64) && (disk_data->minor_number < 80))           
-         return  "/dev/sde";// Fifth SCSI disk whole disk          
-       
-       if((disk_data->minor_number >= 80) && (disk_data->minor_number < 96))           
-         return  "/dev/sdf";// Sixth SCSI disk whole disk                
-      
-        if((disk_data->minor_number >= 96) && (disk_data->minor_number < 112))         
-         return  "/dev/sdg";// seventh SCSI disk whole disk              
-       
-       if((disk_data->minor_number >= 112) && (disk_data->minor_number < 128))         
-         return  "/dev/sdh";// eighth SCSI disk whole disk                       
-       
-       if((disk_data->minor_number >= 128) && (disk_data->minor_number < 144))         
-         return  "/dev/sdi";// 9th SCSI disk whole disk                            
-         
-       if((disk_data->minor_number >= 144) && (disk_data->minor_number < 160))         
-         return  "/dev/sdj";// 10th SCSI disk whole disk                             
-         
-        if((disk_data->minor_number >= 160) && (disk_data->minor_number < 176))                
-         return  "/dev/sdk";// 11th SCSI disk whole disk                             
-      
-        if((disk_data->minor_number >= 176) && (disk_data->minor_number < 192))                
-         return  "/dev/sdl";// 12th SCSI disk whole disk                             
-      
-        if((disk_data->minor_number >= 192) && (disk_data->minor_number < 208))                
-         return  "/dev/sdm";// 13th SCSI disk whole disk                             
-
-       if((disk_data->minor_number >= 208) && (disk_data->minor_number < 224))         
-         return  "/dev/sdn";// 14th SCSI disk whole disk                               
-       
-       if((disk_data->minor_number >= 224) && (disk_data->minor_number < 240))         
-         return  "/dev/sdo";// 15th SCSI disk whole disk                                           
-       
-       if((disk_data->minor_number >= 240) && (disk_data->minor_number < 256))         
-         return  "/dev/sdp";// 16th SCSI disk whole disk                               
-      break;          
-     
-      case  65: /* SCSI disk devices */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 16))
-         return "/dev/sdq"; 
-        
-       if((disk_data->minor_number >= 16) && (disk_data->minor_number < 32))           
-         return  "/dev/sdr"; 
-       
-       if((disk_data->minor_number >= 32) && (disk_data->minor_number < 48))           
-         return  "/dev/sds"; 
-       
-       if((disk_data->minor_number >= 48) && (disk_data->minor_number < 64))           
-         return  "/dev/sdt";  
-       
-       if((disk_data->minor_number >= 64) && (disk_data->minor_number < 80))           
-         return  "/dev/sdu"; 
-       
-       if((disk_data->minor_number >= 80) && (disk_data->minor_number < 96))           
-         return  "/dev/sdv"; 
-      
-        if((disk_data->minor_number >= 96) && (disk_data->minor_number < 112))         
-         return  "/dev/sdw"; 
-       
-       if((disk_data->minor_number >= 112) && (disk_data->minor_number < 128))         
-         return  "/dev/sdy"; 
-       
-       if((disk_data->minor_number >= 128) && (disk_data->minor_number < 144))         
-         return  "/dev/sdx"; 
-         
-       if((disk_data->minor_number >= 144) && (disk_data->minor_number < 160))         
-         return  "/dev/sdz"; 
-         
-        if((disk_data->minor_number >= 160) && (disk_data->minor_number < 176))                
-         return  "/dev/sdaa"; 
-      
-        if((disk_data->minor_number >= 176) && (disk_data->minor_number < 192))                
-         return  "/dev/sdab"; 
-      
-        if((disk_data->minor_number >= 192) && (disk_data->minor_number < 208))                
-         return  "/dev/sdac"; 
-
-       if((disk_data->minor_number >= 208) && (disk_data->minor_number < 224))         
-         return  "/dev/sdad"; 
-       
-       if((disk_data->minor_number >= 224) && (disk_data->minor_number < 240))         
-         return  "/dev/sdae"; 
-       
-       if((disk_data->minor_number >= 240) && (disk_data->minor_number < 256))         
-         return  "/dev/sdaf"; 
-      break;     
-
-      case  66: /* SCSI disk devices */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 16))
-         return "/dev/sdag"; 
-        
-       if((disk_data->minor_number >= 16) && (disk_data->minor_number < 32))           
-         return  "/dev/sdah"; 
-       
-       if((disk_data->minor_number >= 32) && (disk_data->minor_number < 48))           
-         return  "/dev/sdai"; 
-       
-       if((disk_data->minor_number >= 48) && (disk_data->minor_number < 64))           
-         return  "/dev/sdaj";  
-       
-       if((disk_data->minor_number >= 64) && (disk_data->minor_number < 80))           
-         return  "/dev/sdak"; 
-       
-       if((disk_data->minor_number >= 80) && (disk_data->minor_number < 96))           
-         return  "/dev/sdal"; 
-      
-        if((disk_data->minor_number >= 96) && (disk_data->minor_number < 112))         
-         return  "/dev/sdam"; 
-       
-       if((disk_data->minor_number >= 112) && (disk_data->minor_number < 128))         
-         return  "/dev/sdan"; 
-       
-       if((disk_data->minor_number >= 128) && (disk_data->minor_number < 144))         
-         return  "/dev/sdao"; 
-         
-       if((disk_data->minor_number >= 144) && (disk_data->minor_number < 160))         
-         return  "/dev/sdap"; 
-         
-        if((disk_data->minor_number >= 160) && (disk_data->minor_number < 176))                
-         return  "/dev/sdaq"; 
-      
-        if((disk_data->minor_number >= 176) && (disk_data->minor_number < 192))                
-         return  "/dev/sdar"; 
-      
-        if((disk_data->minor_number >= 192) && (disk_data->minor_number < 208))                
-         return  "/dev/sdas"; 
-
-       if((disk_data->minor_number >= 208) && (disk_data->minor_number < 224))         
-         return  "/dev/sdat"; 
-       
-       if((disk_data->minor_number >= 224) && (disk_data->minor_number < 240))         
-         return  "/dev/sdau"; 
-       
-       if((disk_data->minor_number >= 240) && (disk_data->minor_number < 256))         
-         return  "/dev/sdav"; 
-      break;     
-
-      
-      case  67: /* SCSI disk devices */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 16))
-         return "/dev/sdaw"; 
-        
-       if((disk_data->minor_number >= 16) && (disk_data->minor_number < 32))           
-         return  "/dev/sdax"; 
-       
-       if((disk_data->minor_number >= 32) && (disk_data->minor_number < 48))           
-         return  "/dev/sday"; 
-       
-       if((disk_data->minor_number >= 48) && (disk_data->minor_number < 64))           
-         return  "/dev/sdaz";  
-       
-       if((disk_data->minor_number >= 64) && (disk_data->minor_number < 80))           
-         return  "/dev/sdba"; 
-       
-       if((disk_data->minor_number >= 80) && (disk_data->minor_number < 96))           
-         return  "/dev/sdbb"; 
-      
-        if((disk_data->minor_number >= 96) && (disk_data->minor_number < 112))         
-         return  "/dev/sdbc"; 
-       
-       if((disk_data->minor_number >= 112) && (disk_data->minor_number < 128))         
-         return  "/dev/sdbd"; 
-       
-       if((disk_data->minor_number >= 128) && (disk_data->minor_number < 144))         
-         return  "/dev/sdbe"; 
-         
-       if((disk_data->minor_number >= 144) && (disk_data->minor_number < 160))         
-         return  "/dev/sdbf"; 
-         
-        if((disk_data->minor_number >= 160) && (disk_data->minor_number < 176))                
-         return  "/dev/sdbg"; 
-      
-        if((disk_data->minor_number >= 176) && (disk_data->minor_number < 192))                
-         return  "/dev/sdbh"; 
-      
-        if((disk_data->minor_number >= 192) && (disk_data->minor_number < 208))                
-         return  "/dev/sdbi"; 
-
-       if((disk_data->minor_number >= 208) && (disk_data->minor_number < 224))         
-         return  "/dev/sdbj"; 
-       
-       if((disk_data->minor_number >= 224) && (disk_data->minor_number < 240))         
-         return  "/dev/sdbk"; 
-       
-       if((disk_data->minor_number >= 240) && (disk_data->minor_number < 256))         
-         return  "/dev/sdbl"; 
-      break;     
-      
-      case  68 : /* SCSI disk devices */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 16))
-         return "/dev/sdbm"; 
-        
-       if((disk_data->minor_number >= 16) && (disk_data->minor_number < 32))           
-         return  "/dev/sdbm"; 
-       
-       if((disk_data->minor_number >= 32) && (disk_data->minor_number < 48))           
-         return  "/dev/sdbo"; 
-       
-       if((disk_data->minor_number >= 48) && (disk_data->minor_number < 64))           
-         return  "/dev/sdbp";  
-       
-       if((disk_data->minor_number >= 64) && (disk_data->minor_number < 80))           
-         return  "/dev/sdbq"; 
-       
-       if((disk_data->minor_number >= 80) && (disk_data->minor_number < 96))           
-         return  "/dev/sdbr"; 
-      
-        if((disk_data->minor_number >= 96) && (disk_data->minor_number < 112))         
-         return  "/dev/sdbs"; 
-       
-       if((disk_data->minor_number >= 112) && (disk_data->minor_number < 128))         
-         return  "/dev/sdbt"; 
-       
-       if((disk_data->minor_number >= 128) && (disk_data->minor_number < 144))         
-         return  "/dev/sdbu"; 
-         
-       if((disk_data->minor_number >= 144) && (disk_data->minor_number < 160))         
-         return  "/dev/sdbv"; 
-         
-        if((disk_data->minor_number >= 160) && (disk_data->minor_number < 176))                
-         return  "/dev/sdbw"; 
-      
-        if((disk_data->minor_number >= 176) && (disk_data->minor_number < 192))                
-         return  "/dev/sdbx"; 
-      
-        if((disk_data->minor_number >= 192) && (disk_data->minor_number < 208))                
-         return  "/dev/sdby"; 
-
-       if((disk_data->minor_number >= 208) && (disk_data->minor_number < 224))         
-         return  "/dev/sdbz"; 
-       
-       if((disk_data->minor_number >= 224) && (disk_data->minor_number < 240))         
-         return  "/dev/sdca"; 
-       
-       if((disk_data->minor_number >= 240) && (disk_data->minor_number < 256))         
-         return  "/dev/sdcb"; 
-      break;     
-      case  69 : /* SCSI disk devices */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 16))
-         return "/dev/sdcc"; 
-        
-       if((disk_data->minor_number >= 16) && (disk_data->minor_number < 32))           
-         return  "/dev/sdcd"; 
-       
-       if((disk_data->minor_number >= 32) && (disk_data->minor_number < 48))           
-         return  "/dev/sdce"; 
-       
-       if((disk_data->minor_number >= 48) && (disk_data->minor_number < 64))           
-         return  "/dev/sdcf";  
-       
-       if((disk_data->minor_number >= 64) && (disk_data->minor_number < 80))           
-         return  "/dev/sdcg"; 
-       
-       if((disk_data->minor_number >= 80) && (disk_data->minor_number < 96))           
-         return  "/dev/sdch"; 
-      
-        if((disk_data->minor_number >= 96) && (disk_data->minor_number < 112))         
-         return  "/dev/sdci"; 
-       
-       if((disk_data->minor_number >= 112) && (disk_data->minor_number < 128))         
-         return  "/dev/sdcj"; 
-       
-       if((disk_data->minor_number >= 128) && (disk_data->minor_number < 144))         
-         return  "/dev/sdck"; 
-         
-       if((disk_data->minor_number >= 144) && (disk_data->minor_number < 160))         
-         return  "/dev/sdcl"; 
-         
-        if((disk_data->minor_number >= 160) && (disk_data->minor_number < 176))                
-         return  "/dev/sdcm"; 
-      
-        if((disk_data->minor_number >= 176) && (disk_data->minor_number < 192))                
-         return  "/dev/sdcn"; 
-      
-        if((disk_data->minor_number >= 192) && (disk_data->minor_number < 208))                
-         return  "/dev/sdco"; 
-
-       if((disk_data->minor_number >= 208) && (disk_data->minor_number < 224))         
-         return  "/dev/sdcp"; 
-       
-       if((disk_data->minor_number >= 224) && (disk_data->minor_number < 240))         
-         return  "/dev/sdcq"; 
-       
-       if((disk_data->minor_number >= 240) && (disk_data->minor_number < 256))         
-         return  "/dev/sdcr"; 
-      break;     
-
-      
-      case  70 : /* SCSI disk devices */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 16))
-         return "/dev/sdcs"; 
-        
-       if((disk_data->minor_number >= 16) && (disk_data->minor_number < 32))           
-         return  "/dev/sdct"; 
-       
-       if((disk_data->minor_number >= 32) && (disk_data->minor_number < 48))           
-         return  "/dev/sdcu"; 
-       
-       if((disk_data->minor_number >= 48) && (disk_data->minor_number < 64))           
-         return  "/dev/sdcv";  
-       
-       if((disk_data->minor_number >= 64) && (disk_data->minor_number < 80))           
-         return  "/dev/sdcw"; 
-       
-       if((disk_data->minor_number >= 80) && (disk_data->minor_number < 96))           
-         return  "/dev/sdcx"; 
-      
-        if((disk_data->minor_number >= 96) && (disk_data->minor_number < 112))         
-         return  "/dev/sdcy"; 
-       
-       if((disk_data->minor_number >= 112) && (disk_data->minor_number < 128))         
-         return  "/dev/sdcz"; 
-       
-       if((disk_data->minor_number >= 128) && (disk_data->minor_number < 144))         
-         return  "/dev/sdda"; 
-         
-       if((disk_data->minor_number >= 144) && (disk_data->minor_number < 160))         
-         return  "/dev/sddb"; 
-         
-        if((disk_data->minor_number >= 160) && (disk_data->minor_number < 176))                
-         return  "/dev/sddc"; 
-      
-        if((disk_data->minor_number >= 176) && (disk_data->minor_number < 192))                
-         return  "/dev/sddd"; 
-      
-        if((disk_data->minor_number >= 192) && (disk_data->minor_number < 208))                
-         return  "/dev/sdde"; 
-
-       if((disk_data->minor_number >= 208) && (disk_data->minor_number < 224))         
-         return  "/dev/sddf"; 
-       
-       if((disk_data->minor_number >= 224) && (disk_data->minor_number < 240))         
-         return  "/dev/sddg"; 
-       
-       if((disk_data->minor_number >= 240) && (disk_data->minor_number < 256))         
-         return  "/dev/sddh"; 
-      break;      
-      case  71: /* SCSI disk devices */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 16))
-         return "/dev/sddi"; 
-        
-       if((disk_data->minor_number >=  16) && (disk_data->minor_number < 32))          
-         return  "/dev/sddj"; 
-       
-       if((disk_data->minor_number >= 32) && (disk_data->minor_number < 48))           
-         return  "/dev/sddk"; 
-       
-       if((disk_data->minor_number >= 48) && (disk_data->minor_number < 64))           
-         return  "/dev/sddl";  
-       
-       if((disk_data->minor_number >= 64) && (disk_data->minor_number < 80))           
-         return  "/dev/sddm"; 
-       
-       if((disk_data->minor_number >= 80) && (disk_data->minor_number < 96))           
-         return  "/dev/sddn"; 
-      
-        if((disk_data->minor_number >= 96) && (disk_data->minor_number < 112))         
-         return  "/dev/sddo"; 
-       
-       if((disk_data->minor_number >= 112) && (disk_data->minor_number < 128))         
-         return  "/dev/sddp"; 
-       
-       if((disk_data->minor_number >= 128) && (disk_data->minor_number < 144))         
-         return  "/dev/sddq"; 
-         
-       if((disk_data->minor_number >= 144) && (disk_data->minor_number < 160))         
-         return  "/dev/sddr"; 
-         
-        if((disk_data->minor_number >= 160) && (disk_data->minor_number < 176))                
-         return  "/dev/sdds"; 
-      
-        if((disk_data->minor_number >= 176) && (disk_data->minor_number < 192))                
-         return  "/dev/sddt"; 
-      
-        if((disk_data->minor_number >= 192) && (disk_data->minor_number < 208))                
-         return  "/dev/sddu"; 
-
-       if((disk_data->minor_number >= 208) && (disk_data->minor_number < 224))         
-         return  "/dev/sddv"; 
-       
-       if((disk_data->minor_number >= 224) && (disk_data->minor_number < 240))         
-         return  "/dev/sddw"; 
-       
-       if((disk_data->minor_number >= 240) && (disk_data->minor_number < 256))         
-         return  "/dev/sddx"; 
-      break;      
-       
-      case  128: /* SCSI disk devices */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 16))
-         return "/dev/sddy"; 
-        
-       if((disk_data->minor_number >= 16) && (disk_data->minor_number < 32))           
-         return  "/dev/sddz"; 
-        
-       if((disk_data->minor_number >= 32) && (disk_data->minor_number < 48))           
-         return  "/dev/sdea"; 
-       
-       if((disk_data->minor_number >= 48) && (disk_data->minor_number < 64))           
-         return  "/dev/sdeb";  
-       
-       if((disk_data->minor_number >= 64) && (disk_data->minor_number < 80))           
-         return  "/dev/sdec"; 
-       
-       if((disk_data->minor_number >= 80) && (disk_data->minor_number < 96))           
-         return  "/dev/sded"; 
-      
-        if((disk_data->minor_number >= 96) && (disk_data->minor_number < 112))         
-         return  "/dev/sdee"; 
-       
-       if((disk_data->minor_number >= 112) && (disk_data->minor_number < 128))         
-         return  "/dev/sdef"; 
-       
-       if((disk_data->minor_number >= 128) && (disk_data->minor_number < 144))         
-         return  "/dev/sdeg"; 
-         
-       if((disk_data->minor_number >= 144) && (disk_data->minor_number < 160))         
-         return  "/dev/sdeh"; 
-         
-        if((disk_data->minor_number >= 160) && (disk_data->minor_number < 176))                
-         return  "/dev/sdei"; 
-      
-        if((disk_data->minor_number >= 176) && (disk_data->minor_number < 192))                
-         return  "/dev/sdej"; 
-      
-        if((disk_data->minor_number >= 192) && (disk_data->minor_number < 208))                
-         return  "/dev/sdek"; 
-
-       if((disk_data->minor_number >= 208) && (disk_data->minor_number < 224))         
-         return  "/dev/sdel"; 
-       
-       if((disk_data->minor_number >= 224) && (disk_data->minor_number < 240))         
-         return  "/dev/sdem"; 
-       
-       if((disk_data->minor_number >= 240) && (disk_data->minor_number < 256))         
-         return  "/dev/sden"; 
-      break;      
-
-      case  129: /* SCSI disk devices */
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 16))
-         return "/dev/sdeo"; 
-        
-       if((disk_data->minor_number >= 16) && (disk_data->minor_number < 32))           
-         return  "/dev/sdep"; 
-       
-       if((disk_data->minor_number >= 32) && (disk_data->minor_number < 48))           
-         return  "/dev/sdeq"; 
-       
-       if((disk_data->minor_number >= 48) && (disk_data->minor_number < 64))           
-         return  "/dev/sder";  
-       
-       if((disk_data->minor_number >= 64) && (disk_data->minor_number < 80))           
-         return  "/dev/sdes"; 
-       
-       if((disk_data->minor_number >= 80) && (disk_data->minor_number < 96))           
-         return  "/dev/sdet"; 
-      
-        if((disk_data->minor_number >= 96) && (disk_data->minor_number < 112))         
-         return  "/dev/sdeu"; 
-       
-       if((disk_data->minor_number >= 112) && (disk_data->minor_number < 128))         
-         return  "/dev/sdev"; 
-       
-       if((disk_data->minor_number >= 128) && (disk_data->minor_number < 144))         
-         return  "/dev/sdew"; 
-         
-       if((disk_data->minor_number >= 144) && (disk_data->minor_number < 160))         
-         return  "/dev/sdez"; 
-         
-        if((disk_data->minor_number >= 160) && (disk_data->minor_number < 176))                
-         return  "/dev/sdey"; 
-      
-        if((disk_data->minor_number >= 176) && (disk_data->minor_number < 192))                
-         return  "/dev/sdez"; 
-      
-        if((disk_data->minor_number >= 192) && (disk_data->minor_number < 208))                
-         return  "/dev/sdfa"; 
-
-       if((disk_data->minor_number >= 208) && (disk_data->minor_number < 224))         
-         return  "/dev/sdfb"; 
-       
-       if((disk_data->minor_number >= 224) && (disk_data->minor_number < 240))         
-         return  "/dev/sdfc"; 
-       
-       if((disk_data->minor_number >= 240) && (disk_data->minor_number < 256))         
-         return  "/dev/sdfd"; 
-      break;      
-      /*USB block devices*/
-      case  180: 
-        if( (disk_data->minor_number >= 0) && (disk_data->minor_number < 8))
-         return "/dev/uba"; 
-       if( (disk_data->minor_number >= 8) && (disk_data->minor_number < 16))
-         return "/dev/ubb"; 
-       if( (disk_data->minor_number >= 16) && (disk_data->minor_number < 24))
-         return "/dev/ubc"; 
-      break;      
-   
-  }
-
-
-}
-LTTV_MODULE("diskperformance", "disk info view", \
-           "Produce disk I/O performance", \
-           init, destroy, "lttvwindow") 
-           
This page took 0.034546 seconds and 4 git commands to generate.