[BACK]Return to udf_strat_sequential.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / fs / udf

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/fs/udf/udf_strat_sequential.c between version 1.5.4.3 and 1.5.4.4

version 1.5.4.3, 2009/06/01 17:11:35 version 1.5.4.4, 2009/07/09 19:44:34
Line 33  __KERNEL_RCSID(0, "$NetBSD$");
Line 33  __KERNEL_RCSID(0, "$NetBSD$");
   
   
 #if defined(_KERNEL_OPT)  #if defined(_KERNEL_OPT)
 #include "opt_quota.h"  
 #include "opt_compat_netbsd.h"  #include "opt_compat_netbsd.h"
 #endif  #endif
   
Line 286  udf_queuebuf_seq(struct udf_strat_args *
Line 285  udf_queuebuf_seq(struct udf_strat_args *
   
         /* use our own sheduler lists for more complex sheduling */          /* use our own sheduler lists for more complex sheduling */
         mutex_enter(&priv->discstrat_mutex);          mutex_enter(&priv->discstrat_mutex);
                 BUFQ_PUT(priv->queues[queue], nestbuf);                  bufq_put(priv->queues[queue], nestbuf);
                 vfs_timestamp(&priv->last_queued[queue]);                  vfs_timestamp(&priv->last_queued[queue]);
         mutex_exit(&priv->discstrat_mutex);          mutex_exit(&priv->discstrat_mutex);
   
Line 472  udf_doshedule(struct udf_mount *ump)
Line 471  udf_doshedule(struct udf_mount *ump)
         int new_queue;          int new_queue;
         int error;          int error;
   
         buf = BUFQ_GET(priv->queues[priv->cur_queue]);          buf = bufq_get(priv->queues[priv->cur_queue]);
         if (buf) {          if (buf) {
                 /* transfer from the current queue to the device queue */                  /* transfer from the current queue to the device queue */
                 mutex_exit(&priv->discstrat_mutex);                  mutex_exit(&priv->discstrat_mutex);
Line 515  udf_doshedule(struct udf_mount *ump)
Line 514  udf_doshedule(struct udf_mount *ump)
         /* check if we can/should switch */          /* check if we can/should switch */
         new_queue = priv->cur_queue;          new_queue = priv->cur_queue;
   
         if (BUFQ_PEEK(priv->queues[UDF_SHED_READING]))          if (bufq_peek(priv->queues[UDF_SHED_READING]))
                 new_queue = UDF_SHED_READING;                  new_queue = UDF_SHED_READING;
         if (BUFQ_PEEK(priv->queues[UDF_SHED_WRITING]))          /* only for unmount */          if (bufq_peek(priv->queues[UDF_SHED_WRITING]))          /* only for unmount */
                 new_queue = UDF_SHED_WRITING;                  new_queue = UDF_SHED_WRITING;
         if (BUFQ_PEEK(priv->queues[UDF_SHED_SEQWRITING]))          if (bufq_peek(priv->queues[UDF_SHED_SEQWRITING]))
                 new_queue = UDF_SHED_SEQWRITING;                  new_queue = UDF_SHED_SEQWRITING;
         if (priv->cur_queue == UDF_SHED_READING) {          if (priv->cur_queue == UDF_SHED_READING) {
                 if (new_queue == UDF_SHED_SEQWRITING) {                  if (new_queue == UDF_SHED_SEQWRITING) {
Line 558  udf_discstrat_thread(void *arg)
Line 557  udf_discstrat_thread(void *arg)
         while (priv->run_thread || !empty) {          while (priv->run_thread || !empty) {
                 /* process the current selected queue */                  /* process the current selected queue */
                 udf_doshedule(ump);                  udf_doshedule(ump);
                 empty  = (BUFQ_PEEK(priv->queues[UDF_SHED_READING]) == NULL);                  empty  = (bufq_peek(priv->queues[UDF_SHED_READING]) == NULL);
                 empty &= (BUFQ_PEEK(priv->queues[UDF_SHED_WRITING]) == NULL);                  empty &= (bufq_peek(priv->queues[UDF_SHED_WRITING]) == NULL);
                 empty &= (BUFQ_PEEK(priv->queues[UDF_SHED_SEQWRITING]) == NULL);                  empty &= (bufq_peek(priv->queues[UDF_SHED_SEQWRITING]) == NULL);
   
                 /* wait for more if needed */                  /* wait for more if needed */
                 if (empty)                  if (empty)

Legend:
Removed from v.1.5.4.3  
changed lines
  Added in v.1.5.4.4

CVSweb <webmaster@jp.NetBSD.org>