| .. | .. |
|---|
| 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 | |
|---|