mirror of https://gitee.com/openkylin/linux.git
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);
|
||||
}
|
||||
|
||||
static struct cleancache_ops tmem_cleancache_ops = {
|
||||
static const struct cleancache_ops tmem_cleancache_ops = {
|
||||
.put_page = tmem_cleancache_put_page,
|
||||
.get_page = tmem_cleancache_get_page,
|
||||
.invalidate_page = tmem_cleancache_flush_page,
|
||||
|
|
|
@ -37,7 +37,7 @@ struct cleancache_ops {
|
|||
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_shared_fs(struct super_block *);
|
||||
extern int __cleancache_get_page(struct page *);
|
||||
|
@ -48,14 +48,14 @@ extern void __cleancache_invalidate_fs(struct super_block *);
|
|||
|
||||
#ifdef CONFIG_CLEANCACHE
|
||||
#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)
|
||||
{
|
||||
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
|
||||
#define cleancache_enabled (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)
|
||||
{
|
||||
int ret = -1;
|
||||
|
||||
if (cleancache_enabled && cleancache_fs_enabled(page))
|
||||
ret = __cleancache_get_page(page);
|
||||
return ret;
|
||||
return __cleancache_get_page(page);
|
||||
return -1;
|
||||
}
|
||||
|
||||
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
|
||||
* 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
|
||||
|
@ -49,7 +49,7 @@ static void cleancache_register_ops_sb(struct super_block *sb, void *unused)
|
|||
/*
|
||||
* 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))
|
||||
return -EBUSY;
|
||||
|
|
Loading…
Reference in New Issue