Spdk/lib/blob
Paul Luse 721695e121 blob: fix issue with blobid handling
Fixes github issue #29.

Because of how we handle the blobid and pagenum in blobstore,
it was possible to have blobstore inadvertently open the wrong
blob if open is provided a blobid where the lower 32 bits match
an existing blob but the upper 32 are clear.

Patch does the following:
- removes assert() that caught this on MD load and replace with
an error given that this condition can be induced via the API
- cleanup of pagenum and blobid conversion/handling to make it
clearer how they're related and converted
- new UTs that would have failed w/o the new check in place

Change-Id: I2b49b237922b3b8cfc4df296f5bc20195e41dc41
Signed-off-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-on: https://review.gerrithub.io/380872
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-10-05 16:46:47 -04:00
..
bdev blob_bdev: hotremove support 2017-09-28 12:46:18 -04:00
blobstore.c blob: fix issue with blobid handling 2017-10-05 16:46:47 -04:00
blobstore.h blob: fix issue with blobid handling 2017-10-05 16:46:47 -04:00
Makefile blobfs: Add a lightweight filesystem built on the blobstore 2017-03-24 14:15:45 -07:00
request.c blob: defer calling unload callback until dev is destroyed 2017-09-26 19:10:28 -04:00
request.h blob: defer calling unload callback until dev is destroyed 2017-09-26 19:10:28 -04:00