In the past, we didn't use the distinction between logical block size and physical block size. Now it's possible to optionally set the physical block size to be different then logical block size. It's useful for NVMe 512e Advanced Format tests. Change-Id: I1b596da471031ee90dafc6ba6276cebf769b5ea2 Signed-off-by: Panfil, Wojciech <wojciech.panfil@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16793 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jacek Kalwas <jacek.kalwas@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
34 lines
862 B
C
34 lines
862 B
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright (C) 2016 Intel Corporation.
|
|
* All rights reserved.
|
|
* Copyright (c) 2021 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
*/
|
|
|
|
#ifndef SPDK_BDEV_MALLOC_H
|
|
#define SPDK_BDEV_MALLOC_H
|
|
|
|
#include "spdk/stdinc.h"
|
|
|
|
#include "spdk/bdev_module.h"
|
|
|
|
typedef void (*spdk_delete_malloc_complete)(void *cb_arg, int bdeverrno);
|
|
|
|
struct malloc_bdev_opts {
|
|
char *name;
|
|
struct spdk_uuid uuid;
|
|
uint64_t num_blocks;
|
|
uint32_t block_size;
|
|
uint32_t physical_block_size;
|
|
uint32_t optimal_io_boundary;
|
|
uint32_t md_size;
|
|
bool md_interleave;
|
|
enum spdk_dif_type dif_type;
|
|
bool dif_is_head_of_md;
|
|
};
|
|
|
|
int create_malloc_disk(struct spdk_bdev **bdev, const struct malloc_bdev_opts *opts);
|
|
|
|
void delete_malloc_disk(const char *name, spdk_delete_malloc_complete cb_fn, void *cb_arg);
|
|
|
|
#endif /* SPDK_BDEV_MALLOC_H */
|