crc64_nvme(9)
π crc64_nvme β NAME π
ok so this page lives in the Kernel API Manual, section 9, and it's literally all about crc64_nvme β aka Calculate CRC64-NVME π
β¨ SYNOPSIS β¨
u64 crc64_nvme (u64 crc , const void *p , size_t len );
that's the whole vibe: you hand it a u64 seed, a pointer, and a length, and it hands you back a u64. no cap. π«Ά
πΈ ARGUMENTS πΈ
crcβ the seed value for the computation, bestie. drop a0in here for a brand-new CRC calculation, or pass the previouscrc64value if you're computing incrementally (aka doing it in little chunks, main character energy). π₯pβ pointer to the buffer that the CRC64 gets run over. it's giving "here's my data, do your thing" πlenβ the length of bufferp. gotta tell it how far to go, we're not mind readers π§
π¦ DESCRIPTION π¦
okay so this one computes the CRC64 that's defined in the NVME NVM Command Set Specification, and the important part β the part you cannot miss β is that it does this including the bitwise inversion at the beginning and end πβ¨
like, both ends. beginning AND end. it's not optional, it's built in, it's the whole point. so don't go inverting anything yourself afterward, the function already ate and left no crumbs π
π SEE ALSO π
- Kernel file
./include/linux/crc64.hβ the header, the source of truth, the blueprint π crc64_be(9)β the other CRC64, its sibling, its costar π
ngl if you're doing incremental CRC you better remember to feed the previouscrc64value back in ascrc, otherwise the vibe check fails π«£
β that's a wrap, bestie! this iconic little page came to you from ./include/linux, dated October 2026, and yes it's crc64_nvme(9) β go forth and checksum responsibly π
ππΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms