pmdk icon indicating copy to clipboard operation
pmdk copied to clipboard

The reason of "pool version -6" libpmemobj

Open Georgexzp opened this issue 3 years ago • 1 comments

QUESTION:

Details

Hi, Recently i have a problem about using pmemobj_open(). It's failed and the error msg show "pool version -6 (library expects 6)" i check the msg and the err is in func util_header_check(), i wonder what really does this func want to check, especially the what does the variable "major" so i can confirm this problem and how can i avoid it under my next coding

Georgexzp avatar Jul 18 '22 08:07 Georgexzp

Hi, while opening an existing pool we check if the info about pool (stored in its header) is compatible with the currently used PMDK version (a major). For example, we may update, in some PMDK versions, the pool structure, so we've bumped the pool version for a new PMDK release. It actually happened several times in the past, and we have a tool to convert the pool to a newer version (see pmdk-convert tool).

What's weird, in your case, you got -6, but we actually use only unsigned integers to store the version... so perhaps you have a corrupted pool file? Did you experiment somehow with that file? Did you change the PMDK version between using that pool file?

lukaszstolarczuk avatar Jul 26 '22 08:07 lukaszstolarczuk

This issue seems inactive now, if you still have some questions, please re-open it.

lukaszstolarczuk avatar Mar 13 '23 10:03 lukaszstolarczuk