mirror of
https://github.com/AltraMayor/f3.git
synced 2025-08-03 10:35:57 -04:00
f3probe: fix allocation error of safe device
probe_device_max_blocks() was returning an int that once multiplied by block_size was out range. This patch just enforces probe_device_max_blocks() to return an uint64_t, and does the needed adjustments in the code.
This commit is contained in:
parent
591ad8a7bf
commit
e3fe7a006d
@ -1209,7 +1209,7 @@ static const char *sdev_get_filename(struct device *dev)
|
||||
return dev_get_filename(dev_sdev(dev)->shadow_dev);
|
||||
}
|
||||
|
||||
struct device *create_safe_device(struct device *dev, int max_blocks,
|
||||
struct device *create_safe_device(struct device *dev, uint64_t max_blocks,
|
||||
int min_memory)
|
||||
{
|
||||
struct safe_device *sdev;
|
||||
|
@ -100,7 +100,7 @@ void perf_device_sample(struct device *dev,
|
||||
*/
|
||||
struct device *pdev_detach_and_free(struct device *dev);
|
||||
|
||||
struct device *create_safe_device(struct device *dev, int max_blocks,
|
||||
struct device *create_safe_device(struct device *dev, uint64_t max_blocks,
|
||||
int min_memory);
|
||||
|
||||
#endif /* HEADER_LIBDEVS_H */
|
||||
|
@ -666,7 +666,7 @@ static int find_wrap(struct device *dev,
|
||||
return false;
|
||||
}
|
||||
|
||||
int probe_device_max_blocks(struct device *dev)
|
||||
uint64_t probe_device_max_blocks(struct device *dev)
|
||||
{
|
||||
const int block_order = dev_get_block_order(dev);
|
||||
uint64_t num_blocks = dev_get_size_byte(dev) >> block_order;
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#include "libdevs.h"
|
||||
|
||||
int probe_device_max_blocks(struct device *dev);
|
||||
uint64_t probe_device_max_blocks(struct device *dev);
|
||||
|
||||
int probe_device(struct device *dev, uint64_t *preal_size_byte,
|
||||
uint64_t *pannounced_size_byte, int *pwrap,
|
||||
|
Loading…
x
Reference in New Issue
Block a user