Merge branch 'stable/for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/mm
Pull cleancache cleanups from Konrad Rzeszutek Wilk: "Simple cleanups" * 'stable/for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/mm: include/linux/cleancache.h: Clean up code cleancache: constify cleancache_ops structure
This commit is contained in:
commit
2973737012
|
@ -242,7 +242,7 @@ static int tmem_cleancache_init_shared_fs(char *uuid, size_t pagesize)
|
||||||
return xen_tmem_new_pool(shared_uuid, TMEM_POOL_SHARED, pagesize);
|
return xen_tmem_new_pool(shared_uuid, TMEM_POOL_SHARED, pagesize);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct cleancache_ops tmem_cleancache_ops = {
|
static const struct cleancache_ops tmem_cleancache_ops = {
|
||||||
.put_page = tmem_cleancache_put_page,
|
.put_page = tmem_cleancache_put_page,
|
||||||
.get_page = tmem_cleancache_get_page,
|
.get_page = tmem_cleancache_get_page,
|
||||||
.invalidate_page = tmem_cleancache_flush_page,
|
.invalidate_page = tmem_cleancache_flush_page,
|
||||||
|
|
|
@ -37,7 +37,7 @@ struct cleancache_ops {
|
||||||
void (*invalidate_fs)(int);
|
void (*invalidate_fs)(int);
|
||||||
};
|
};
|
||||||
|
|
||||||
extern int cleancache_register_ops(struct cleancache_ops *ops);
|
extern int cleancache_register_ops(const struct cleancache_ops *ops);
|
||||||
extern void __cleancache_init_fs(struct super_block *);
|
extern void __cleancache_init_fs(struct super_block *);
|
||||||
extern void __cleancache_init_shared_fs(struct super_block *);
|
extern void __cleancache_init_shared_fs(struct super_block *);
|
||||||
extern int __cleancache_get_page(struct page *);
|
extern int __cleancache_get_page(struct page *);
|
||||||
|
@ -48,14 +48,14 @@ extern void __cleancache_invalidate_fs(struct super_block *);
|
||||||
|
|
||||||
#ifdef CONFIG_CLEANCACHE
|
#ifdef CONFIG_CLEANCACHE
|
||||||
#define cleancache_enabled (1)
|
#define cleancache_enabled (1)
|
||||||
static inline bool cleancache_fs_enabled(struct page *page)
|
|
||||||
{
|
|
||||||
return page->mapping->host->i_sb->cleancache_poolid >= 0;
|
|
||||||
}
|
|
||||||
static inline bool cleancache_fs_enabled_mapping(struct address_space *mapping)
|
static inline bool cleancache_fs_enabled_mapping(struct address_space *mapping)
|
||||||
{
|
{
|
||||||
return mapping->host->i_sb->cleancache_poolid >= 0;
|
return mapping->host->i_sb->cleancache_poolid >= 0;
|
||||||
}
|
}
|
||||||
|
static inline bool cleancache_fs_enabled(struct page *page)
|
||||||
|
{
|
||||||
|
return cleancache_fs_enabled_mapping(page->mapping);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
#define cleancache_enabled (0)
|
#define cleancache_enabled (0)
|
||||||
#define cleancache_fs_enabled(_page) (0)
|
#define cleancache_fs_enabled(_page) (0)
|
||||||
|
@ -89,11 +89,9 @@ static inline void cleancache_init_shared_fs(struct super_block *sb)
|
||||||
|
|
||||||
static inline int cleancache_get_page(struct page *page)
|
static inline int cleancache_get_page(struct page *page)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
|
||||||
|
|
||||||
if (cleancache_enabled && cleancache_fs_enabled(page))
|
if (cleancache_enabled && cleancache_fs_enabled(page))
|
||||||
ret = __cleancache_get_page(page);
|
return __cleancache_get_page(page);
|
||||||
return ret;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void cleancache_put_page(struct page *page)
|
static inline void cleancache_put_page(struct page *page)
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
* cleancache_ops is set by cleancache_register_ops to contain the pointers
|
* cleancache_ops is set by cleancache_register_ops to contain the pointers
|
||||||
* to the cleancache "backend" implementation functions.
|
* to the cleancache "backend" implementation functions.
|
||||||
*/
|
*/
|
||||||
static struct cleancache_ops *cleancache_ops __read_mostly;
|
static const struct cleancache_ops *cleancache_ops __read_mostly;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Counters available via /sys/kernel/debug/cleancache (if debugfs is
|
* Counters available via /sys/kernel/debug/cleancache (if debugfs is
|
||||||
|
@ -49,7 +49,7 @@ static void cleancache_register_ops_sb(struct super_block *sb, void *unused)
|
||||||
/*
|
/*
|
||||||
* Register operations for cleancache. Returns 0 on success.
|
* Register operations for cleancache. Returns 0 on success.
|
||||||
*/
|
*/
|
||||||
int cleancache_register_ops(struct cleancache_ops *ops)
|
int cleancache_register_ops(const struct cleancache_ops *ops)
|
||||||
{
|
{
|
||||||
if (cmpxchg(&cleancache_ops, NULL, ops))
|
if (cmpxchg(&cleancache_ops, NULL, ops))
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
|
|
Loading…
Reference in a new issue