Loading drivers/md/dm-cache-policy-internal.h +28 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ #ifndef DM_CACHE_POLICY_INTERNAL_H #define DM_CACHE_POLICY_INTERNAL_H #include <linux/vmalloc.h> #include "dm-cache-policy.h" /*----------------------------------------------------------------*/ Loading Loading @@ -106,6 +107,33 @@ static inline int policy_set_config_value(struct dm_cache_policy *p, /*----------------------------------------------------------------*/ /* * Some utility functions commonly used by policies and the core target. */ static inline size_t bitset_size_in_bytes(unsigned nr_entries) { return sizeof(unsigned long) * dm_div_up(nr_entries, BITS_PER_LONG); } static inline unsigned long *alloc_bitset(unsigned nr_entries) { size_t s = bitset_size_in_bytes(nr_entries); return vzalloc(s); } static inline void clear_bitset(void *bitset, unsigned nr_entries) { size_t s = bitset_size_in_bytes(nr_entries); memset(bitset, 0, s); } static inline void free_bitset(unsigned long *bits) { vfree(bits); } /*----------------------------------------------------------------*/ /* * Creates a new cache policy given a policy name, a cache size, an origin size and the block size. */ Loading drivers/md/dm-cache-target.c +0 −24 Original line number Diff line number Diff line Loading @@ -111,30 +111,6 @@ static void iot_io_end(struct io_tracker *iot, sector_t len) /*----------------------------------------------------------------*/ static size_t bitset_size_in_bytes(unsigned nr_entries) { return sizeof(unsigned long) * dm_div_up(nr_entries, BITS_PER_LONG); } static unsigned long *alloc_bitset(unsigned nr_entries) { size_t s = bitset_size_in_bytes(nr_entries); return vzalloc(s); } static void clear_bitset(void *bitset, unsigned nr_entries) { size_t s = bitset_size_in_bytes(nr_entries); memset(bitset, 0, s); } static void free_bitset(unsigned long *bits) { vfree(bits); } /*----------------------------------------------------------------*/ /* * There are a couple of places where we let a bio run, but want to do some * work before calling its endio function. We do this by temporarily Loading Loading
drivers/md/dm-cache-policy-internal.h +28 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ #ifndef DM_CACHE_POLICY_INTERNAL_H #define DM_CACHE_POLICY_INTERNAL_H #include <linux/vmalloc.h> #include "dm-cache-policy.h" /*----------------------------------------------------------------*/ Loading Loading @@ -106,6 +107,33 @@ static inline int policy_set_config_value(struct dm_cache_policy *p, /*----------------------------------------------------------------*/ /* * Some utility functions commonly used by policies and the core target. */ static inline size_t bitset_size_in_bytes(unsigned nr_entries) { return sizeof(unsigned long) * dm_div_up(nr_entries, BITS_PER_LONG); } static inline unsigned long *alloc_bitset(unsigned nr_entries) { size_t s = bitset_size_in_bytes(nr_entries); return vzalloc(s); } static inline void clear_bitset(void *bitset, unsigned nr_entries) { size_t s = bitset_size_in_bytes(nr_entries); memset(bitset, 0, s); } static inline void free_bitset(unsigned long *bits) { vfree(bits); } /*----------------------------------------------------------------*/ /* * Creates a new cache policy given a policy name, a cache size, an origin size and the block size. */ Loading
drivers/md/dm-cache-target.c +0 −24 Original line number Diff line number Diff line Loading @@ -111,30 +111,6 @@ static void iot_io_end(struct io_tracker *iot, sector_t len) /*----------------------------------------------------------------*/ static size_t bitset_size_in_bytes(unsigned nr_entries) { return sizeof(unsigned long) * dm_div_up(nr_entries, BITS_PER_LONG); } static unsigned long *alloc_bitset(unsigned nr_entries) { size_t s = bitset_size_in_bytes(nr_entries); return vzalloc(s); } static void clear_bitset(void *bitset, unsigned nr_entries) { size_t s = bitset_size_in_bytes(nr_entries); memset(bitset, 0, s); } static void free_bitset(unsigned long *bits) { vfree(bits); } /*----------------------------------------------------------------*/ /* * There are a couple of places where we let a bio run, but want to do some * work before calling its endio function. We do this by temporarily Loading