.. | .. |
---|
466 | 466 | } |
---|
467 | 467 | } else if (t == 2) { |
---|
468 | 468 | sbi->gc_mode = GC_URGENT_LOW; |
---|
| 469 | + } else if (t == 3) { |
---|
| 470 | + sbi->gc_mode = GC_URGENT_MID; |
---|
| 471 | + if (sbi->gc_thread) { |
---|
| 472 | + sbi->gc_thread->gc_wake = 1; |
---|
| 473 | + wake_up_interruptible_all( |
---|
| 474 | + &sbi->gc_thread->gc_wait_queue_head); |
---|
| 475 | + } |
---|
469 | 476 | } else { |
---|
470 | 477 | return -EINVAL; |
---|
471 | 478 | } |
---|
.. | .. |
---|
496 | 503 | if (!strcmp(a->attr.name, "iostat_period_ms")) { |
---|
497 | 504 | if (t < MIN_IOSTAT_PERIOD_MS || t > MAX_IOSTAT_PERIOD_MS) |
---|
498 | 505 | return -EINVAL; |
---|
499 | | - spin_lock(&sbi->iostat_lock); |
---|
| 506 | + spin_lock_irq(&sbi->iostat_lock); |
---|
500 | 507 | sbi->iostat_period_ms = (unsigned int)t; |
---|
501 | | - spin_unlock(&sbi->iostat_lock); |
---|
| 508 | + spin_unlock_irq(&sbi->iostat_lock); |
---|
502 | 509 | return count; |
---|
503 | 510 | } |
---|
504 | 511 | |
---|