Commit 77ba7877 authored by Al Viro's avatar Al Viro

xfs: switch to proper __bitwise type for KM_... flags

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent c217a2a0
...@@ -46,7 +46,7 @@ kmem_zalloc_greedy(size_t *size, size_t minsize, size_t maxsize) ...@@ -46,7 +46,7 @@ kmem_zalloc_greedy(size_t *size, size_t minsize, size_t maxsize)
} }
void * void *
kmem_alloc(size_t size, unsigned int __nocast flags) kmem_alloc(size_t size, xfs_km_flags_t flags)
{ {
int retries = 0; int retries = 0;
gfp_t lflags = kmem_flags_convert(flags); gfp_t lflags = kmem_flags_convert(flags);
...@@ -65,7 +65,7 @@ kmem_alloc(size_t size, unsigned int __nocast flags) ...@@ -65,7 +65,7 @@ kmem_alloc(size_t size, unsigned int __nocast flags)
} }
void * void *
kmem_zalloc(size_t size, unsigned int __nocast flags) kmem_zalloc(size_t size, xfs_km_flags_t flags)
{ {
void *ptr; void *ptr;
...@@ -87,7 +87,7 @@ kmem_free(const void *ptr) ...@@ -87,7 +87,7 @@ kmem_free(const void *ptr)
void * void *
kmem_realloc(const void *ptr, size_t newsize, size_t oldsize, kmem_realloc(const void *ptr, size_t newsize, size_t oldsize,
unsigned int __nocast flags) xfs_km_flags_t flags)
{ {
void *new; void *new;
...@@ -102,7 +102,7 @@ kmem_realloc(const void *ptr, size_t newsize, size_t oldsize, ...@@ -102,7 +102,7 @@ kmem_realloc(const void *ptr, size_t newsize, size_t oldsize,
} }
void * void *
kmem_zone_alloc(kmem_zone_t *zone, unsigned int __nocast flags) kmem_zone_alloc(kmem_zone_t *zone, xfs_km_flags_t flags)
{ {
int retries = 0; int retries = 0;
gfp_t lflags = kmem_flags_convert(flags); gfp_t lflags = kmem_flags_convert(flags);
...@@ -121,7 +121,7 @@ kmem_zone_alloc(kmem_zone_t *zone, unsigned int __nocast flags) ...@@ -121,7 +121,7 @@ kmem_zone_alloc(kmem_zone_t *zone, unsigned int __nocast flags)
} }
void * void *
kmem_zone_zalloc(kmem_zone_t *zone, unsigned int __nocast flags) kmem_zone_zalloc(kmem_zone_t *zone, xfs_km_flags_t flags)
{ {
void *ptr; void *ptr;
......
...@@ -27,10 +27,11 @@ ...@@ -27,10 +27,11 @@
* General memory allocation interfaces * General memory allocation interfaces
*/ */
#define KM_SLEEP 0x0001u typedef unsigned __bitwise xfs_km_flags_t;
#define KM_NOSLEEP 0x0002u #define KM_SLEEP ((__force xfs_km_flags_t)0x0001u)
#define KM_NOFS 0x0004u #define KM_NOSLEEP ((__force xfs_km_flags_t)0x0002u)
#define KM_MAYFAIL 0x0008u #define KM_NOFS ((__force xfs_km_flags_t)0x0004u)
#define KM_MAYFAIL ((__force xfs_km_flags_t)0x0008u)
/* /*
* We use a special process flag to avoid recursive callbacks into * We use a special process flag to avoid recursive callbacks into
...@@ -38,7 +39,7 @@ ...@@ -38,7 +39,7 @@
* warnings, so we explicitly skip any generic ones (silly of us). * warnings, so we explicitly skip any generic ones (silly of us).
*/ */
static inline gfp_t static inline gfp_t
kmem_flags_convert(unsigned int __nocast flags) kmem_flags_convert(xfs_km_flags_t flags)
{ {
gfp_t lflags; gfp_t lflags;
...@@ -54,9 +55,9 @@ kmem_flags_convert(unsigned int __nocast flags) ...@@ -54,9 +55,9 @@ kmem_flags_convert(unsigned int __nocast flags)
return lflags; return lflags;
} }
extern void *kmem_alloc(size_t, unsigned int __nocast); extern void *kmem_alloc(size_t, xfs_km_flags_t);
extern void *kmem_zalloc(size_t, unsigned int __nocast); extern void *kmem_zalloc(size_t, xfs_km_flags_t);
extern void *kmem_realloc(const void *, size_t, size_t, unsigned int __nocast); extern void *kmem_realloc(const void *, size_t, size_t, xfs_km_flags_t);
extern void kmem_free(const void *); extern void kmem_free(const void *);
static inline void *kmem_zalloc_large(size_t size) static inline void *kmem_zalloc_large(size_t size)
...@@ -107,7 +108,7 @@ kmem_zone_destroy(kmem_zone_t *zone) ...@@ -107,7 +108,7 @@ kmem_zone_destroy(kmem_zone_t *zone)
kmem_cache_destroy(zone); kmem_cache_destroy(zone);
} }
extern void *kmem_zone_alloc(kmem_zone_t *, unsigned int __nocast); extern void *kmem_zone_alloc(kmem_zone_t *, xfs_km_flags_t);
extern void *kmem_zone_zalloc(kmem_zone_t *, unsigned int __nocast); extern void *kmem_zone_zalloc(kmem_zone_t *, xfs_km_flags_t);
#endif /* __XFS_SUPPORT_KMEM_H__ */ #endif /* __XFS_SUPPORT_KMEM_H__ */
...@@ -3152,7 +3152,7 @@ xlog_ticket_alloc( ...@@ -3152,7 +3152,7 @@ xlog_ticket_alloc(
int cnt, int cnt,
char client, char client,
bool permanent, bool permanent,
int alloc_flags) xfs_km_flags_t alloc_flags)
{ {
struct xlog_ticket *tic; struct xlog_ticket *tic;
uint num_headers; uint num_headers;
......
...@@ -555,7 +555,7 @@ extern void xlog_pack_data(xlog_t *log, xlog_in_core_t *iclog, int); ...@@ -555,7 +555,7 @@ extern void xlog_pack_data(xlog_t *log, xlog_in_core_t *iclog, int);
extern kmem_zone_t *xfs_log_ticket_zone; extern kmem_zone_t *xfs_log_ticket_zone;
struct xlog_ticket *xlog_ticket_alloc(struct log *log, int unit_bytes, struct xlog_ticket *xlog_ticket_alloc(struct log *log, int unit_bytes,
int count, char client, bool permanent, int count, char client, bool permanent,
int alloc_flags); xfs_km_flags_t alloc_flags);
static inline void static inline void
......
...@@ -584,7 +584,7 @@ xfs_trans_t * ...@@ -584,7 +584,7 @@ xfs_trans_t *
_xfs_trans_alloc( _xfs_trans_alloc(
xfs_mount_t *mp, xfs_mount_t *mp,
uint type, uint type,
uint memflags) xfs_km_flags_t memflags)
{ {
xfs_trans_t *tp; xfs_trans_t *tp;
......
...@@ -443,7 +443,7 @@ typedef struct xfs_trans { ...@@ -443,7 +443,7 @@ typedef struct xfs_trans {
* XFS transaction mechanism exported interfaces. * XFS transaction mechanism exported interfaces.
*/ */
xfs_trans_t *xfs_trans_alloc(struct xfs_mount *, uint); xfs_trans_t *xfs_trans_alloc(struct xfs_mount *, uint);
xfs_trans_t *_xfs_trans_alloc(struct xfs_mount *, uint, uint); xfs_trans_t *_xfs_trans_alloc(struct xfs_mount *, uint, xfs_km_flags_t);
xfs_trans_t *xfs_trans_dup(xfs_trans_t *); xfs_trans_t *xfs_trans_dup(xfs_trans_t *);
int xfs_trans_reserve(xfs_trans_t *, uint, uint, uint, int xfs_trans_reserve(xfs_trans_t *, uint, uint, uint,
uint, uint); uint, uint);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment