ppl_conf 116 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf; /* shared between all log instances */ ppl_conf 235 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = log->ppl_conf; ppl_conf 240 drivers/md/raid5-ppl.c io = mempool_alloc(&ppl_conf->io_pool, GFP_NOWAIT); ppl_conf 258 drivers/md/raid5-ppl.c pplhdr->signature = cpu_to_le32(ppl_conf->signature); ppl_conf 260 drivers/md/raid5-ppl.c io->seq = atomic64_add_return(1, &ppl_conf->seq); ppl_conf 362 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = conf->log_private; ppl_conf 373 drivers/md/raid5-ppl.c log = &ppl_conf->child_logs[sh->pd_idx]; ppl_conf 387 drivers/md/raid5-ppl.c spin_lock_irq(&ppl_conf->no_mem_stripes_lock); ppl_conf 388 drivers/md/raid5-ppl.c list_add_tail(&sh->log_list, &ppl_conf->no_mem_stripes); ppl_conf 389 drivers/md/raid5-ppl.c spin_unlock_irq(&ppl_conf->no_mem_stripes_lock); ppl_conf 401 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = log->ppl_conf; ppl_conf 407 drivers/md/raid5-ppl.c md_error(ppl_conf->mddev, log->rdev); ppl_conf 432 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = log->ppl_conf; ppl_conf 453 drivers/md/raid5-ppl.c ilog2(ppl_conf->block_size >> 9)); ppl_conf 472 drivers/md/raid5-ppl.c bio->bi_write_hint = ppl_conf->write_hint; ppl_conf 486 drivers/md/raid5-ppl.c if ((ppl_conf->child_logs[i].wb_cache_on) && ppl_conf 500 drivers/md/raid5-ppl.c &ppl_conf->bs); ppl_conf 540 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = conf->log_private; ppl_conf 544 drivers/md/raid5-ppl.c for (i = 0; i < ppl_conf->count; i++) { ppl_conf 545 drivers/md/raid5-ppl.c log = &ppl_conf->child_logs[i]; ppl_conf 556 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = log->ppl_conf; ppl_conf 557 drivers/md/raid5-ppl.c struct r5conf *conf = ppl_conf->mddev->private; ppl_conf 568 drivers/md/raid5-ppl.c mempool_free(io, &ppl_conf->io_pool); ppl_conf 570 drivers/md/raid5-ppl.c spin_lock(&ppl_conf->no_mem_stripes_lock); ppl_conf 571 drivers/md/raid5-ppl.c if (!list_empty(&ppl_conf->no_mem_stripes)) { ppl_conf 574 drivers/md/raid5-ppl.c sh = list_first_entry(&ppl_conf->no_mem_stripes, ppl_conf 580 drivers/md/raid5-ppl.c spin_unlock(&ppl_conf->no_mem_stripes_lock); ppl_conf 591 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = log->ppl_conf; ppl_conf 592 drivers/md/raid5-ppl.c struct r5conf *conf = ppl_conf->mddev->private; ppl_conf 618 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = log->ppl_conf; ppl_conf 619 drivers/md/raid5-ppl.c struct r5conf *conf = ppl_conf->mddev->private; ppl_conf 640 drivers/md/raid5-ppl.c bio = bio_alloc_bioset(GFP_NOIO, 0, &ppl_conf->flush_bs); ppl_conf 675 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = conf->log_private; ppl_conf 679 drivers/md/raid5-ppl.c for (i = 0; i < ppl_conf->count; i++) { ppl_conf 680 drivers/md/raid5-ppl.c struct ppl_log *log = &ppl_conf->child_logs[i]; ppl_conf 798 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = log->ppl_conf; ppl_conf 799 drivers/md/raid5-ppl.c struct mddev *mddev = ppl_conf->mddev; ppl_conf 801 drivers/md/raid5-ppl.c int block_size = ppl_conf->block_size; ppl_conf 973 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = log->ppl_conf; ppl_conf 1028 drivers/md/raid5-ppl.c ppl_conf->mismatch_count++; ppl_conf 1033 drivers/md/raid5-ppl.c ppl_conf->recovered_entries++; ppl_conf 1065 drivers/md/raid5-ppl.c pplhdr->signature = cpu_to_le32(log->ppl_conf->signature); ppl_conf 1081 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = log->ppl_conf; ppl_conf 1138 drivers/md/raid5-ppl.c ppl_conf->signature = signature; ppl_conf 1139 drivers/md/raid5-ppl.c } else if (ppl_conf->signature != signature) { ppl_conf 1141 drivers/md/raid5-ppl.c __func__, signature, ppl_conf->signature, ppl_conf 1172 drivers/md/raid5-ppl.c ppl_conf->mismatch_count++; ppl_conf 1190 drivers/md/raid5-ppl.c __func__, ret, ppl_conf->mismatch_count, ppl_conf 1191 drivers/md/raid5-ppl.c ppl_conf->recovered_entries); ppl_conf 1195 drivers/md/raid5-ppl.c static int ppl_load(struct ppl_conf *ppl_conf) ppl_conf 1202 drivers/md/raid5-ppl.c for (i = 0; i < ppl_conf->count; i++) { ppl_conf 1203 drivers/md/raid5-ppl.c struct ppl_log *log = &ppl_conf->child_logs[i]; ppl_conf 1218 drivers/md/raid5-ppl.c if (ppl_conf->mddev->external) { ppl_conf 1220 drivers/md/raid5-ppl.c signature = ppl_conf->signature; ppl_conf 1222 drivers/md/raid5-ppl.c } else if (signature != ppl_conf->signature) { ppl_conf 1224 drivers/md/raid5-ppl.c mdname(ppl_conf->mddev)); ppl_conf 1232 drivers/md/raid5-ppl.c __func__, ret, ppl_conf->mismatch_count, ppl_conf 1233 drivers/md/raid5-ppl.c ppl_conf->recovered_entries); ppl_conf 1237 drivers/md/raid5-ppl.c static void __ppl_exit_log(struct ppl_conf *ppl_conf) ppl_conf 1239 drivers/md/raid5-ppl.c clear_bit(MD_HAS_PPL, &ppl_conf->mddev->flags); ppl_conf 1240 drivers/md/raid5-ppl.c clear_bit(MD_HAS_MULTIPLE_PPLS, &ppl_conf->mddev->flags); ppl_conf 1242 drivers/md/raid5-ppl.c kfree(ppl_conf->child_logs); ppl_conf 1244 drivers/md/raid5-ppl.c bioset_exit(&ppl_conf->bs); ppl_conf 1245 drivers/md/raid5-ppl.c bioset_exit(&ppl_conf->flush_bs); ppl_conf 1246 drivers/md/raid5-ppl.c mempool_exit(&ppl_conf->io_pool); ppl_conf 1247 drivers/md/raid5-ppl.c kmem_cache_destroy(ppl_conf->io_kc); ppl_conf 1249 drivers/md/raid5-ppl.c kfree(ppl_conf); ppl_conf 1254 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = conf->log_private; ppl_conf 1256 drivers/md/raid5-ppl.c if (ppl_conf) { ppl_conf 1257 drivers/md/raid5-ppl.c __ppl_exit_log(ppl_conf); ppl_conf 1317 drivers/md/raid5-ppl.c &log->ppl_conf->mddev->flags); ppl_conf 1333 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf; ppl_conf 1371 drivers/md/raid5-ppl.c ppl_conf = kzalloc(sizeof(struct ppl_conf), GFP_KERNEL); ppl_conf 1372 drivers/md/raid5-ppl.c if (!ppl_conf) ppl_conf 1375 drivers/md/raid5-ppl.c ppl_conf->mddev = mddev; ppl_conf 1377 drivers/md/raid5-ppl.c ppl_conf->io_kc = KMEM_CACHE(ppl_io_unit, 0); ppl_conf 1378 drivers/md/raid5-ppl.c if (!ppl_conf->io_kc) { ppl_conf 1383 drivers/md/raid5-ppl.c ret = mempool_init(&ppl_conf->io_pool, conf->raid_disks, ppl_io_pool_alloc, ppl_conf 1384 drivers/md/raid5-ppl.c ppl_io_pool_free, ppl_conf->io_kc); ppl_conf 1388 drivers/md/raid5-ppl.c ret = bioset_init(&ppl_conf->bs, conf->raid_disks, 0, BIOSET_NEED_BVECS); ppl_conf 1392 drivers/md/raid5-ppl.c ret = bioset_init(&ppl_conf->flush_bs, conf->raid_disks, 0, 0); ppl_conf 1396 drivers/md/raid5-ppl.c ppl_conf->count = conf->raid_disks; ppl_conf 1397 drivers/md/raid5-ppl.c ppl_conf->child_logs = kcalloc(ppl_conf->count, sizeof(struct ppl_log), ppl_conf 1399 drivers/md/raid5-ppl.c if (!ppl_conf->child_logs) { ppl_conf 1404 drivers/md/raid5-ppl.c atomic64_set(&ppl_conf->seq, 0); ppl_conf 1405 drivers/md/raid5-ppl.c INIT_LIST_HEAD(&ppl_conf->no_mem_stripes); ppl_conf 1406 drivers/md/raid5-ppl.c spin_lock_init(&ppl_conf->no_mem_stripes_lock); ppl_conf 1407 drivers/md/raid5-ppl.c ppl_conf->write_hint = RWF_WRITE_LIFE_NOT_SET; ppl_conf 1410 drivers/md/raid5-ppl.c ppl_conf->signature = ~crc32c_le(~0, mddev->uuid, sizeof(mddev->uuid)); ppl_conf 1411 drivers/md/raid5-ppl.c ppl_conf->block_size = 512; ppl_conf 1413 drivers/md/raid5-ppl.c ppl_conf->block_size = queue_logical_block_size(mddev->queue); ppl_conf 1416 drivers/md/raid5-ppl.c for (i = 0; i < ppl_conf->count; i++) { ppl_conf 1417 drivers/md/raid5-ppl.c struct ppl_log *log = &ppl_conf->child_logs[i]; ppl_conf 1424 drivers/md/raid5-ppl.c log->ppl_conf = ppl_conf; ppl_conf 1437 drivers/md/raid5-ppl.c ret = ppl_load(ppl_conf); ppl_conf 1442 drivers/md/raid5-ppl.c ppl_conf->recovered_entries > 0 && ppl_conf 1443 drivers/md/raid5-ppl.c ppl_conf->mismatch_count == 0) { ppl_conf 1450 drivers/md/raid5-ppl.c } else if (mddev->pers && ppl_conf->mismatch_count > 0) { ppl_conf 1456 drivers/md/raid5-ppl.c conf->log_private = ppl_conf; ppl_conf 1457 drivers/md/raid5-ppl.c set_bit(MD_HAS_PPL, &ppl_conf->mddev->flags); ppl_conf 1461 drivers/md/raid5-ppl.c __ppl_exit_log(ppl_conf); ppl_conf 1467 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = conf->log_private; ppl_conf 1482 drivers/md/raid5-ppl.c if (rdev->raid_disk >= ppl_conf->count) ppl_conf 1485 drivers/md/raid5-ppl.c log = &ppl_conf->child_logs[rdev->raid_disk]; ppl_conf 1508 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf = NULL; ppl_conf 1513 drivers/md/raid5-ppl.c ppl_conf = conf->log_private; ppl_conf 1514 drivers/md/raid5-ppl.c ret = sprintf(buf, "%d\n", ppl_conf ? ppl_conf->write_hint : 0); ppl_conf 1524 drivers/md/raid5-ppl.c struct ppl_conf *ppl_conf; ppl_conf 1541 drivers/md/raid5-ppl.c ppl_conf = conf->log_private; ppl_conf 1542 drivers/md/raid5-ppl.c if (!ppl_conf) ppl_conf 1545 drivers/md/raid5-ppl.c ppl_conf->write_hint = new;