Lines Matching defs:isw

256  * Maximum inodes per isw.  A specific value has been chosen to make
493 struct inode_switch_wbs_context *isw =
495 struct backing_dev_info *bdi = inode_to_bdi(isw->inodes[0]);
496 struct bdi_writeback *old_wb = isw->inodes[0]->i_wb;
497 struct bdi_writeback *new_wb = isw->new_wb;
525 for (inodep = isw->inodes; *inodep; inodep++) {
541 for (inodep = isw->inodes; *inodep; inodep++)
544 kfree(isw);
589 struct inode_switch_wbs_context *isw;
599 isw = kzalloc(struct_size(isw, inodes, 2), GFP_ATOMIC);
600 if (!isw)
614 isw->new_wb = wb_get_create(bdi, memcg_css, GFP_ATOMIC);
616 if (!isw->new_wb)
619 if (!inode_prepare_wbs_switch(inode, isw->new_wb))
622 isw->inodes[0] = inode;
630 INIT_RCU_WORK(&isw->work, inode_switch_wbs_work_fn);
631 queue_rcu_work(isw_wq, &isw->work);
636 if (isw->new_wb)
637 wb_put(isw->new_wb);
638 kfree(isw);
641 static bool isw_prepare_wbs_switch(struct inode_switch_wbs_context *isw,
647 if (!inode_prepare_wbs_switch(inode, isw->new_wb))
650 isw->inodes[*nr] = inode;
670 struct inode_switch_wbs_context *isw;
674 isw = kzalloc(struct_size(isw, inodes, WB_MAX_INODES_PER_ISW),
676 if (!isw)
683 isw->new_wb = wb_get_create(wb->bdi, memcg_css, GFP_KERNEL);
684 if (isw->new_wb)
687 if (unlikely(!isw->new_wb))
688 isw->new_wb = &wb->bdi->wb; /* wb_get() is noop for bdi's wb */
700 restart = isw_prepare_wbs_switch(isw, &wb->b_attached, &nr);
702 restart = isw_prepare_wbs_switch(isw, &wb->b_dirty_time, &nr);
708 wb_put(isw->new_wb);
709 kfree(isw);
719 INIT_RCU_WORK(&isw->work, inode_switch_wbs_work_fn);
720 queue_rcu_work(isw_wq, &isw->work);