Skip to content

Commit

Permalink
[XFS] Fix sparse warnings in kmem_* functions Patch from Victor Fusco
Browse files Browse the repository at this point in the history
<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>
  • Loading branch information
Christoph Hellwig authored and Nathan Scott committed Sep 2, 2005
1 parent 6f948fb commit 760dea6
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 23 deletions.
23 changes: 12 additions & 11 deletions fs/xfs/linux-2.6/kmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@


void *
kmem_alloc(size_t size, int flags)
kmem_alloc(size_t size, unsigned int __nocast flags)
{
int retries = 0;
int lflags = kmem_flags_convert(flags);
void *ptr;
int retries = 0;
unsigned int lflags = kmem_flags_convert(flags);
void *ptr;

do {
if (size < MAX_SLAB_SIZE || retries > MAX_VMALLOCS)
Expand All @@ -67,7 +67,7 @@ kmem_alloc(size_t size, int flags)
}

void *
kmem_zalloc(size_t size, int flags)
kmem_zalloc(size_t size, unsigned int __nocast flags)
{
void *ptr;

Expand All @@ -89,7 +89,8 @@ kmem_free(void *ptr, size_t size)
}

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;

Expand All @@ -104,11 +105,11 @@ kmem_realloc(void *ptr, size_t newsize, size_t oldsize, int flags)
}

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 lflags = kmem_flags_convert(flags);
void *ptr;
int retries = 0;
unsigned int lflags = kmem_flags_convert(flags);
void *ptr;

do {
ptr = kmem_cache_alloc(zone, lflags);
Expand All @@ -123,7 +124,7 @@ kmem_zone_alloc(kmem_zone_t *zone, int flags)
}

void *
kmem_zone_zalloc(kmem_zone_t *zone, int flags)
kmem_zone_zalloc(kmem_zone_t *zone, unsigned int __nocast flags)
{
void *ptr;

Expand Down
23 changes: 12 additions & 11 deletions fs/xfs/linux-2.6/kmem.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@
/*
* memory management routines
*/
#define KM_SLEEP 0x0001
#define KM_NOSLEEP 0x0002
#define KM_NOFS 0x0004
#define KM_MAYFAIL 0x0008
#define KM_SLEEP 0x0001u
#define KM_NOSLEEP 0x0002u
#define KM_NOFS 0x0004u
#define KM_MAYFAIL 0x0008u

#define kmem_zone kmem_cache_s
#define kmem_zone_t kmem_cache_t
Expand Down Expand Up @@ -81,9 +81,9 @@ typedef unsigned long xfs_pflags_t;
*(NSTATEP) = *(OSTATEP); \
} 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
if (unlikely(flags & ~(KM_SLEEP|KM_NOSLEEP|KM_NOFS|KM_MAYFAIL))) {
Expand Down Expand Up @@ -125,12 +125,13 @@ kmem_zone_destroy(kmem_zone_t *zone)
BUG();
}

extern void *kmem_zone_zalloc(kmem_zone_t *, int);
extern void *kmem_zone_alloc(kmem_zone_t *, int);
extern void *kmem_zone_zalloc(kmem_zone_t *, unsigned int __nocast);
extern void *kmem_zone_alloc(kmem_zone_t *, unsigned int __nocast);

extern void *kmem_alloc(size_t, int);
extern void *kmem_realloc(void *, size_t, size_t, int);
extern void *kmem_zalloc(size_t, int);
extern void *kmem_alloc(size_t, unsigned int __nocast);
extern void *kmem_realloc(void *, size_t, size_t,
unsigned int __nocast);
extern void *kmem_zalloc(size_t, unsigned int __nocast);
extern void kmem_free(void *, size_t);

typedef struct shrinker *kmem_shaker_t;
Expand Down
2 changes: 1 addition & 1 deletion fs/xfs/xfs_log_recover.c
Original file line number Diff line number Diff line change
Expand Up @@ -1387,7 +1387,7 @@ xlog_recover_add_to_cont_trans(
old_ptr = item->ri_buf[item->ri_cnt-1].i_addr;
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 */
item->ri_buf[item->ri_cnt-1].i_len += len;
item->ri_buf[item->ri_cnt-1].i_addr = ptr;
Expand Down

0 comments on commit 760dea6

Please sign in to comment.