cregit-Linux how code gets into the kernel

Release 4.10 fs/squashfs/page_actor.h

Directory: fs/squashfs
#ifndef PAGE_ACTOR_H

#define PAGE_ACTOR_H
/*
 * Copyright (c) 2013
 * Phillip Lougher <phillip@squashfs.org.uk>
 *
 * This work is licensed under the terms of the GNU GPL, version 2. See
 * the COPYING file in the top-level directory.
 */

#ifndef CONFIG_SQUASHFS_FILE_DIRECT

struct squashfs_page_actor {
	
void	**page;
	
int	pages;
	
int	length;
	
int	next_page;
};


static inline struct squashfs_page_actor *squashfs_page_actor_init(void **page, int pages, int length) { struct squashfs_page_actor *actor = kmalloc(sizeof(*actor), GFP_KERNEL); if (actor == NULL) return NULL; actor->length = length ? : pages * PAGE_SIZE; actor->page = page; actor->pages = pages; actor->next_page = 0; return actor; }

Contributors

PersonTokensPropCommitsCommitProp
phillip lougherphillip lougher7698.70%150.00%
kirill a. shutemovkirill a. shutemov11.30%150.00%
Total77100.00%2100.00%


static inline void *squashfs_first_page(struct squashfs_page_actor *actor) { actor->next_page = 1; return actor->page[0]; }

Contributors

PersonTokensPropCommitsCommitProp
phillip lougherphillip lougher27100.00%1100.00%
Total27100.00%1100.00%


static inline void *squashfs_next_page(struct squashfs_page_actor *actor) { return actor->next_page == actor->pages ? NULL : actor->page[actor->next_page++]; }

Contributors

PersonTokensPropCommitsCommitProp
phillip lougherphillip lougher34100.00%1100.00%
Total34100.00%1100.00%


static inline void squashfs_finish_page(struct squashfs_page_actor *actor) { /* empty */ }

Contributors

PersonTokensPropCommitsCommitProp
phillip lougherphillip lougher13100.00%1100.00%
Total13100.00%1100.00%

#else struct squashfs_page_actor { union { void **buffer; struct page **page; }; void *pageaddr; void *(*squashfs_first_page)(struct squashfs_page_actor *); void *(*squashfs_next_page)(struct squashfs_page_actor *); void (*squashfs_finish_page)(struct squashfs_page_actor *); int pages; int length; int next_page; }; extern struct squashfs_page_actor *squashfs_page_actor_init(void **, int, int); extern struct squashfs_page_actor *squashfs_page_actor_init_special(struct page **, int, int);
static inline void *squashfs_first_page(struct squashfs_page_actor *actor) { return actor->squashfs_first_page(actor); }

Contributors

PersonTokensPropCommitsCommitProp
phillip lougherphillip lougher21100.00%1100.00%
Total21100.00%1100.00%


static inline void *squashfs_next_page(struct squashfs_page_actor *actor) { return actor->squashfs_next_page(actor); }

Contributors

PersonTokensPropCommitsCommitProp
phillip lougherphillip lougher21100.00%1100.00%
Total21100.00%1100.00%


static inline void squashfs_finish_page(struct squashfs_page_actor *actor) { actor->squashfs_finish_page(actor); }

Contributors

PersonTokensPropCommitsCommitProp
phillip lougherphillip lougher19100.00%1100.00%
Total19100.00%1100.00%

#endif #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
phillip lougherphillip lougher34599.71%266.67%
kirill a. shutemovkirill a. shutemov10.29%133.33%
Total346100.00%3100.00%
Directory: fs/squashfs
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.