cregit-Linux how code gets into the kernel

Release 4.11 fs/9p/cache.h

Directory: fs/9p
/*
 * V9FS cache definitions.
 *
 *  Copyright (C) 2009 by Abhishek Kulkarni <adkulkar@umail.iu.edu>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License version 2
 *  as published by the Free Software Foundation.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to:
 *  Free Software Foundation
 *  51 Franklin Street, Fifth Floor
 *  Boston, MA  02111-1301  USA
 *
 */

#ifndef _9P_CACHE_H

#define _9P_CACHE_H
#ifdef CONFIG_9P_FSCACHE
#include <linux/fscache.h>
#include <linux/spinlock.h>

extern struct fscache_netfs v9fs_cache_netfs;
extern const struct fscache_cookie_def v9fs_cache_session_index_def;
extern const struct fscache_cookie_def v9fs_cache_inode_index_def;

extern void v9fs_cache_session_get_cookie(struct v9fs_session_info *v9ses);
extern void v9fs_cache_session_put_cookie(struct v9fs_session_info *v9ses);

extern void v9fs_cache_inode_get_cookie(struct inode *inode);
extern void v9fs_cache_inode_put_cookie(struct inode *inode);
extern void v9fs_cache_inode_flush_cookie(struct inode *inode);
extern void v9fs_cache_inode_set_cookie(struct inode *inode, struct file *filp);
extern void v9fs_cache_inode_reset_cookie(struct inode *inode);

extern int __v9fs_cache_register(void);
extern void __v9fs_cache_unregister(void);

extern int __v9fs_fscache_release_page(struct page *page, gfp_t gfp);
extern void __v9fs_fscache_invalidate_page(struct page *page);
extern int __v9fs_readpage_from_fscache(struct inode *inode,
					struct page *page);
extern int __v9fs_readpages_from_fscache(struct inode *inode,
					 struct address_space *mapping,
					 struct list_head *pages,
					 unsigned *nr_pages);
extern void __v9fs_readpage_to_fscache(struct inode *inode, struct page *page);
extern void __v9fs_fscache_wait_on_page_write(struct inode *inode,
					      struct page *page);


static inline int v9fs_fscache_release_page(struct page *page, gfp_t gfp) { return __v9fs_fscache_release_page(page, gfp); }

Contributors

PersonTokensPropCommitsCommitProp
Abhishek Kulkarni23100.00%1100.00%
Total23100.00%1100.00%


static inline void v9fs_fscache_invalidate_page(struct page *page) { __v9fs_fscache_invalidate_page(page); }

Contributors

PersonTokensPropCommitsCommitProp
Abhishek Kulkarni17100.00%1100.00%
Total17100.00%1100.00%


static inline int v9fs_readpage_from_fscache(struct inode *inode, struct page *page) { return __v9fs_readpage_from_fscache(inode, page); }

Contributors

PersonTokensPropCommitsCommitProp
Abhishek Kulkarni25100.00%1100.00%
Total25100.00%1100.00%


static inline int v9fs_readpages_from_fscache(struct inode *inode, struct address_space *mapping, struct list_head *pages, unsigned *nr_pages) { return __v9fs_readpages_from_fscache(inode, mapping, pages, nr_pages); }

Contributors

PersonTokensPropCommitsCommitProp
Abhishek Kulkarni38100.00%1100.00%
Total38100.00%1100.00%


static inline void v9fs_readpage_to_fscache(struct inode *inode, struct page *page) { if (PageFsCache(page)) __v9fs_readpage_to_fscache(inode, page); }

Contributors

PersonTokensPropCommitsCommitProp
Abhishek Kulkarni31100.00%1100.00%
Total31100.00%1100.00%


static inline void v9fs_uncache_page(struct inode *inode, struct page *page) { struct v9fs_inode *v9inode = V9FS_I(inode); fscache_uncache_page(v9inode->fscache, page); BUG_ON(PageFsCache(page)); }

Contributors

PersonTokensPropCommitsCommitProp
Abhishek Kulkarni4090.91%150.00%
Aneesh Kumar K.V49.09%150.00%
Total44100.00%2100.00%


static inline void v9fs_fscache_wait_on_page_write(struct inode *inode, struct page *page) { return __v9fs_fscache_wait_on_page_write(inode, page); }

Contributors

PersonTokensPropCommitsCommitProp
Aneesh Kumar K.V25100.00%1100.00%
Total25100.00%1100.00%

#else /* CONFIG_9P_FSCACHE */
static inline void v9fs_cache_inode_get_cookie(struct inode *inode) { }

Contributors

PersonTokensPropCommitsCommitProp
Al Viro11100.00%1100.00%
Total11100.00%1100.00%


static inline void v9fs_cache_inode_put_cookie(struct inode *inode) { }

Contributors

PersonTokensPropCommitsCommitProp
Al Viro11100.00%1100.00%
Total11100.00%1100.00%


static inline void v9fs_cache_inode_set_cookie(struct inode *inode, struct file *file) { }

Contributors

PersonTokensPropCommitsCommitProp
Al Viro16100.00%1100.00%
Total16100.00%1100.00%


static inline int v9fs_fscache_release_page(struct page *page, gfp_t gfp) { return 1; }

Contributors

PersonTokensPropCommitsCommitProp
Abhishek Kulkarni18100.00%1100.00%
Total18100.00%1100.00%


static inline void v9fs_fscache_invalidate_page(struct page *page) {}

Contributors

PersonTokensPropCommitsCommitProp
Abhishek Kulkarni11100.00%1100.00%
Total11100.00%1100.00%


static inline int v9fs_readpage_from_fscache(struct inode *inode, struct page *page) { return -ENOBUFS; }

Contributors

PersonTokensPropCommitsCommitProp
Abhishek Kulkarni21100.00%1100.00%
Total21100.00%1100.00%


static inline int v9fs_readpages_from_fscache(struct inode *inode, struct address_space *mapping, struct list_head *pages, unsigned *nr_pages) { return -ENOBUFS; }

Contributors

PersonTokensPropCommitsCommitProp
Abhishek Kulkarni30100.00%1100.00%
Total30100.00%1100.00%


static inline void v9fs_readpage_to_fscache(struct inode *inode, struct page *page) {}

Contributors

PersonTokensPropCommitsCommitProp
Abhishek Kulkarni16100.00%1100.00%
Total16100.00%1100.00%


static inline void v9fs_uncache_page(struct inode *inode, struct page *page) {}

Contributors

PersonTokensPropCommitsCommitProp
Abhishek Kulkarni16100.00%1100.00%
Total16100.00%1100.00%


static inline void v9fs_fscache_wait_on_page_write(struct inode *inode, struct page *page) { return; }

Contributors

PersonTokensPropCommitsCommitProp
Aneesh Kumar K.V18100.00%1100.00%
Total18100.00%1100.00%

#endif /* CONFIG_9P_FSCACHE */ #endif /* _9P_CACHE_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
Abhishek Kulkarni49182.66%120.00%
Aneesh Kumar K.V6210.44%240.00%
Al Viro386.40%120.00%
Tzvetelin Katchov30.51%120.00%
Total594100.00%5100.00%
Directory: fs/9p
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.