Lines Matching defs:pfn_sb

206 		struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb;
207 u64 offset = __le64_to_cpu(pfn_sb->dataoff);
209 u32 start_pad = __le32_to_cpu(pfn_sb->start_pad);
232 struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb;
233 u64 offset = __le64_to_cpu(pfn_sb->dataoff);
235 u32 start_pad = __le32_to_cpu(pfn_sb->start_pad);
236 u32 end_trunc = __le32_to_cpu(pfn_sb->end_trunc);
369 struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb;
378 meta_start = (SZ_4K + sizeof(*pfn_sb)) >> 9;
379 meta_num = (le64_to_cpu(pfn_sb->dataoff) >> 9) - meta_start;
386 rc = devm_namespace_enable(&nd_pfn->dev, ndns, le64_to_cpu(pfn_sb->dataoff));
446 * Upon return the info-block buffer contents (->pfn_sb) are
458 struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb;
462 if (!pfn_sb || !ndns)
468 if (nvdimm_read_bytes(ndns, SZ_4K, pfn_sb, sizeof(*pfn_sb), 0))
471 if (memcmp(pfn_sb->signature, sig, PFN_SIG_LEN) != 0)
474 checksum = le64_to_cpu(pfn_sb->checksum);
475 pfn_sb->checksum = 0;
476 if (checksum != nd_sb_checksum((struct nd_gen_sb *) pfn_sb))
478 pfn_sb->checksum = cpu_to_le64(checksum);
480 if (memcmp(pfn_sb->parent_uuid, parent_uuid, 16) != 0)
483 if (__le16_to_cpu(pfn_sb->version_minor) < 1) {
484 pfn_sb->start_pad = 0;
485 pfn_sb->end_trunc = 0;
488 if (__le16_to_cpu(pfn_sb->version_minor) < 2)
489 pfn_sb->align = 0;
491 if (__le16_to_cpu(pfn_sb->version_minor) < 4) {
492 pfn_sb->page_struct_size = cpu_to_le16(64);
493 pfn_sb->page_size = cpu_to_le32(PAGE_SIZE);
496 switch (le32_to_cpu(pfn_sb->mode)) {
504 align = le32_to_cpu(pfn_sb->align);
505 offset = le64_to_cpu(pfn_sb->dataoff);
506 start_pad = le32_to_cpu(pfn_sb->start_pad);
507 end_trunc = le32_to_cpu(pfn_sb->end_trunc);
510 mode = le32_to_cpu(pfn_sb->mode);
512 if ((le32_to_cpu(pfn_sb->page_size) > PAGE_SIZE) &&
516 le32_to_cpu(pfn_sb->page_size));
520 if ((le16_to_cpu(pfn_sb->page_struct_size) < sizeof(struct page)) &&
524 le16_to_cpu(pfn_sb->page_struct_size));
534 !memcmp(pfn_sb->signature, DAX_SIG, PFN_SIG_LEN)) {
544 * pfn_sb
546 nd_pfn->uuid = kmemdup(pfn_sb->uuid, 16, GFP_KERNEL);
554 * live settings against the pfn_sb
556 if (memcmp(nd_pfn->uuid, pfn_sb->uuid, 16) != 0)
627 struct nd_pfn_sb *pfn_sb;
647 pfn_sb = devm_kmalloc(dev, sizeof(*pfn_sb), GFP_KERNEL);
649 nd_pfn->pfn_sb = pfn_sb;
686 struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb;
687 u64 offset = le64_to_cpu(pfn_sb->dataoff);
688 u32 start_pad = __le32_to_cpu(pfn_sb->start_pad);
689 u32 end_trunc = __le32_to_cpu(pfn_sb->end_trunc);
709 nd_pfn->npfns = le64_to_cpu(pfn_sb->npfns);
712 if (le64_to_cpu(nd_pfn->pfn_sb->npfns) > nd_pfn->npfns)
715 le64_to_cpu(nd_pfn->pfn_sb->npfns),
735 struct nd_pfn_sb *pfn_sb;
741 pfn_sb = devm_kmalloc(&nd_pfn->dev, sizeof(*pfn_sb), GFP_KERNEL);
742 if (!pfn_sb)
745 nd_pfn->pfn_sb = pfn_sb;
758 memset(pfn_sb, 0, sizeof(*pfn_sb));
826 pfn_sb->mode = cpu_to_le32(nd_pfn->mode);
827 pfn_sb->dataoff = cpu_to_le64(offset);
828 pfn_sb->npfns = cpu_to_le64(npfns);
829 memcpy(pfn_sb->signature, sig, PFN_SIG_LEN);
830 memcpy(pfn_sb->uuid, nd_pfn->uuid, 16);
831 memcpy(pfn_sb->parent_uuid, nd_dev_to_uuid(&ndns->dev), 16);
832 pfn_sb->version_major = cpu_to_le16(1);
833 pfn_sb->version_minor = cpu_to_le16(4);
834 pfn_sb->end_trunc = cpu_to_le32(end_trunc);
835 pfn_sb->align = cpu_to_le32(nd_pfn->align);
837 pfn_sb->page_struct_size = cpu_to_le16(sizeof(struct page));
839 pfn_sb->page_struct_size = cpu_to_le16(MAX_STRUCT_PAGE_SIZE);
840 pfn_sb->page_size = cpu_to_le32(PAGE_SIZE);
841 checksum = nd_sb_checksum((struct nd_gen_sb *) pfn_sb);
842 pfn_sb->checksum = cpu_to_le64(checksum);
848 return nvdimm_write_bytes(ndns, SZ_4K, pfn_sb, sizeof(*pfn_sb), 0);
866 /* we need a valid pfn_sb before we can init a dev_pagemap */