[XFS] Fix sparse warnings in kmem_* functions Patch from Victor Fusco

<victor@cetuc.puc-rio.br>

SGI-PV: 940376
SGI-Modid: xfs-linux:xfs-kern:196705a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
This commit is contained in:
Christoph Hellwig 2005-09-02 16:56:02 +10:00 committed by Nathan Scott
parent 6f948fbd44
commit 760dea671e
3 changed files with 25 additions and 23 deletions

View file

@ -45,11 +45,11 @@
void * void *
kmem_alloc(size_t size, int flags) kmem_alloc(size_t size, unsigned int __nocast flags)
{ {
int retries = 0; int retries = 0;
int lflags = kmem_flags_convert(flags); unsigned int lflags = kmem_flags_convert(flags);
void *ptr; void *ptr;
do { do {
if (size < MAX_SLAB_SIZE || retries > MAX_VMALLOCS) if (size < MAX_SLAB_SIZE || retries > MAX_VMALLOCS)
@ -67,7 +67,7 @@ kmem_alloc(size_t size, int flags)
} }
void * void *
kmem_zalloc(size_t size, int flags) kmem_zalloc(size_t size, unsigned int __nocast flags)
{ {
void *ptr; void *ptr;
@ -89,7 +89,8 @@ kmem_free(void *ptr, size_t size)
} }
void * void *
kmem_realloc(void *ptr, size_t newsize, size_t oldsize, int flags) kmem_realloc(void *ptr, size_t newsize, size_t oldsize,
unsigned int __nocast flags)
{ {
void *new; void *new;
@ -104,11 +105,11 @@ kmem_realloc(void *ptr, size_t newsize, size_t oldsize, int flags)
} }
void * void *
kmem_zone_alloc(kmem_zone_t *zone, int flags) kmem_zone_alloc(kmem_zone_t *zone, unsigned int __nocast flags)
{ {
int retries = 0; int retries = 0;
int lflags = kmem_flags_convert(flags); unsigned int lflags = kmem_flags_convert(flags);
void *ptr; void *ptr;
do { do {
ptr = kmem_cache_alloc(zone, lflags); ptr = kmem_cache_alloc(zone, lflags);
@ -123,7 +124,7 @@ kmem_zone_alloc(kmem_zone_t *zone, int flags)
} }
void * void *
kmem_zone_zalloc(kmem_zone_t *zone, int flags) kmem_zone_zalloc(kmem_zone_t *zone, unsigned int __nocast flags)
{ {
void *ptr; void *ptr;

View file

@ -39,10 +39,10 @@
/* /*
* memory management routines * memory management routines
*/ */
#define KM_SLEEP 0x0001 #define KM_SLEEP 0x0001u
#define KM_NOSLEEP 0x0002 #define KM_NOSLEEP 0x0002u
#define KM_NOFS 0x0004 #define KM_NOFS 0x0004u
#define KM_MAYFAIL 0x0008 #define KM_MAYFAIL 0x0008u
#define kmem_zone kmem_cache_s #define kmem_zone kmem_cache_s
#define kmem_zone_t kmem_cache_t #define kmem_zone_t kmem_cache_t
@ -81,9 +81,9 @@ typedef unsigned long xfs_pflags_t;
*(NSTATEP) = *(OSTATEP); \ *(NSTATEP) = *(OSTATEP); \
} while (0) } while (0)
static __inline unsigned int kmem_flags_convert(int flags) static __inline unsigned int kmem_flags_convert(unsigned int __nocast flags)
{ {
int lflags = __GFP_NOWARN; /* we'll report problems, if need be */ unsigned int lflags = __GFP_NOWARN; /* we'll report problems, if need be */
#ifdef DEBUG #ifdef DEBUG
if (unlikely(flags & ~(KM_SLEEP|KM_NOSLEEP|KM_NOFS|KM_MAYFAIL))) { if (unlikely(flags & ~(KM_SLEEP|KM_NOSLEEP|KM_NOFS|KM_MAYFAIL))) {
@ -125,12 +125,13 @@ kmem_zone_destroy(kmem_zone_t *zone)
BUG(); BUG();
} }
extern void *kmem_zone_zalloc(kmem_zone_t *, int); extern void *kmem_zone_zalloc(kmem_zone_t *, unsigned int __nocast);
extern void *kmem_zone_alloc(kmem_zone_t *, int); extern void *kmem_zone_alloc(kmem_zone_t *, unsigned int __nocast);
extern void *kmem_alloc(size_t, int); extern void *kmem_alloc(size_t, unsigned int __nocast);
extern void *kmem_realloc(void *, size_t, size_t, int); extern void *kmem_realloc(void *, size_t, size_t,
extern void *kmem_zalloc(size_t, int); unsigned int __nocast);
extern void *kmem_zalloc(size_t, unsigned int __nocast);
extern void kmem_free(void *, size_t); extern void kmem_free(void *, size_t);
typedef struct shrinker *kmem_shaker_t; typedef struct shrinker *kmem_shaker_t;

View file

@ -1387,7 +1387,7 @@ xlog_recover_add_to_cont_trans(
old_ptr = item->ri_buf[item->ri_cnt-1].i_addr; old_ptr = item->ri_buf[item->ri_cnt-1].i_addr;
old_len = item->ri_buf[item->ri_cnt-1].i_len; old_len = item->ri_buf[item->ri_cnt-1].i_len;
ptr = kmem_realloc(old_ptr, len+old_len, old_len, 0); ptr = kmem_realloc(old_ptr, len+old_len, old_len, 0u);
memcpy(&ptr[old_len], dp, len); /* d, s, l */ memcpy(&ptr[old_len], dp, len); /* d, s, l */
item->ri_buf[item->ri_cnt-1].i_len += len; item->ri_buf[item->ri_cnt-1].i_len += len;
item->ri_buf[item->ri_cnt-1].i_addr = ptr; item->ri_buf[item->ri_cnt-1].i_addr = ptr;