mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-18 08:36:12 +07:00
nvmet-file: clamp-down file namespace lba_shift
When the backing file is a tempfile for example, the inode i_blkbits can be 1M in size which causes problems for hosts to support as the disk block size. Instead, expose the minimum between i_blkbits and 12 (4K sector size). Signed-off-by: Sagi Grimberg <sagi@grimberg.me> Reviewed-by:- Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
a5dffbb66d
commit
525ec495e0
@ -49,7 +49,12 @@ int nvmet_file_ns_enable(struct nvmet_ns *ns)
|
||||
goto err;
|
||||
|
||||
ns->size = stat.size;
|
||||
ns->blksize_shift = file_inode(ns->file)->i_blkbits;
|
||||
/*
|
||||
* i_blkbits can be greater than the universally accepted upper bound,
|
||||
* so make sure we export a sane namespace lba_shift.
|
||||
*/
|
||||
ns->blksize_shift = min_t(u8,
|
||||
file_inode(ns->file)->i_blkbits, 12);
|
||||
|
||||
ns->bvec_cache = kmem_cache_create("nvmet-bvec",
|
||||
NVMET_MAX_MPOOL_BVEC * sizeof(struct bio_vec),
|
||||
|
Loading…
Reference in New Issue
Block a user