Lines Matching defs:pfn_sb
205 struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb;
206 u64 offset = __le64_to_cpu(pfn_sb->dataoff);
208 u32 start_pad = __le32_to_cpu(pfn_sb->start_pad);
231 struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb;
232 u64 offset = __le64_to_cpu(pfn_sb->dataoff);
234 u32 start_pad = __le32_to_cpu(pfn_sb->start_pad);
235 u32 end_trunc = __le32_to_cpu(pfn_sb->end_trunc);
365 struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb;
374 meta_start = (SZ_4K + sizeof(*pfn_sb)) >> 9;
375 meta_num = (le64_to_cpu(pfn_sb->dataoff) >> 9) - meta_start;
382 rc = devm_namespace_enable(&nd_pfn->dev, ndns, le64_to_cpu(pfn_sb->dataoff));
442 * Upon return the info-block buffer contents (->pfn_sb) are
453 struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb;
457 if (!pfn_sb || !ndns)
463 if (nvdimm_read_bytes(ndns, SZ_4K, pfn_sb, sizeof(*pfn_sb), 0))
466 if (memcmp(pfn_sb->signature, sig, PFN_SIG_LEN) != 0)
469 checksum = le64_to_cpu(pfn_sb->checksum);
470 pfn_sb->checksum = 0;
471 if (checksum != nd_sb_checksum((struct nd_gen_sb *) pfn_sb))
473 pfn_sb->checksum = cpu_to_le64(checksum);
475 if (memcmp(pfn_sb->parent_uuid, parent_uuid, 16) != 0)
478 if (__le16_to_cpu(pfn_sb->version_minor) < 1) {
479 pfn_sb->start_pad = 0;
480 pfn_sb->end_trunc = 0;
483 if (__le16_to_cpu(pfn_sb->version_minor) < 2)
484 pfn_sb->align = 0;
486 if (__le16_to_cpu(pfn_sb->version_minor) < 4) {
487 pfn_sb->page_struct_size = cpu_to_le16(64);
488 pfn_sb->page_size = cpu_to_le32(PAGE_SIZE);
491 switch (le32_to_cpu(pfn_sb->mode)) {
499 align = le32_to_cpu(pfn_sb->align);
500 offset = le64_to_cpu(pfn_sb->dataoff);
501 start_pad = le32_to_cpu(pfn_sb->start_pad);
504 mode = le32_to_cpu(pfn_sb->mode);
506 if ((le32_to_cpu(pfn_sb->page_size) > PAGE_SIZE) &&
510 le32_to_cpu(pfn_sb->page_size));
514 if ((le16_to_cpu(pfn_sb->page_struct_size) < sizeof(struct page)) &&
518 le16_to_cpu(pfn_sb->page_struct_size));
528 !memcmp(pfn_sb->signature, DAX_SIG, PFN_SIG_LEN)) {
538 * pfn_sb
540 nd_pfn->uuid = kmemdup(pfn_sb->uuid, 16, GFP_KERNEL);
548 * live settings against the pfn_sb
550 if (memcmp(nd_pfn->uuid, pfn_sb->uuid, 16) != 0)
597 if (!IS_ALIGNED(res->start + le32_to_cpu(pfn_sb->start_pad),
603 if (!IS_ALIGNED(res->end + 1 - le32_to_cpu(pfn_sb->end_trunc),
618 struct nd_pfn_sb *pfn_sb;
638 pfn_sb = devm_kmalloc(dev, sizeof(*pfn_sb), GFP_KERNEL);
640 nd_pfn->pfn_sb = pfn_sb;
677 struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb;
678 u64 offset = le64_to_cpu(pfn_sb->dataoff);
679 u32 start_pad = __le32_to_cpu(pfn_sb->start_pad);
680 u32 end_trunc = __le32_to_cpu(pfn_sb->end_trunc);
700 nd_pfn->npfns = le64_to_cpu(pfn_sb->npfns);
703 if (le64_to_cpu(nd_pfn->pfn_sb->npfns) > nd_pfn->npfns)
706 le64_to_cpu(nd_pfn->pfn_sb->npfns),
726 struct nd_pfn_sb *pfn_sb;
732 pfn_sb = devm_kmalloc(&nd_pfn->dev, sizeof(*pfn_sb), GFP_KERNEL);
733 if (!pfn_sb)
736 nd_pfn->pfn_sb = pfn_sb;
749 memset(pfn_sb, 0, sizeof(*pfn_sb));
809 pfn_sb->mode = cpu_to_le32(nd_pfn->mode);
810 pfn_sb->dataoff = cpu_to_le64(offset);
811 pfn_sb->npfns = cpu_to_le64(npfns);
812 memcpy(pfn_sb->signature, sig, PFN_SIG_LEN);
813 memcpy(pfn_sb->uuid, nd_pfn->uuid, 16);
814 memcpy(pfn_sb->parent_uuid, nd_dev_to_uuid(&ndns->dev), 16);
815 pfn_sb->version_major = cpu_to_le16(1);
816 pfn_sb->version_minor = cpu_to_le16(4);
817 pfn_sb->end_trunc = cpu_to_le32(end_trunc);
818 pfn_sb->align = cpu_to_le32(nd_pfn->align);
819 pfn_sb->page_struct_size = cpu_to_le16(MAX_STRUCT_PAGE_SIZE);
820 pfn_sb->page_size = cpu_to_le32(PAGE_SIZE);
821 checksum = nd_sb_checksum((struct nd_gen_sb *) pfn_sb);
822 pfn_sb->checksum = cpu_to_le64(checksum);
828 return nvdimm_write_bytes(ndns, SZ_4K, pfn_sb, sizeof(*pfn_sb), 0);
846 /* we need a valid pfn_sb before we can init a dev_pagemap */