cregit-Linux how code gets into the kernel

Release 4.10 fs/minix/itree_v2.c

Directory: fs/minix
#include <linux/buffer_head.h>
#include "minix.h"



enum {DIRECT = 7, DEPTH = 4};	

/* Have triple indirect */


typedef u32 block_t;	
/* 32 bit, host order */


static inline unsigned long block_to_cpu(block_t n) { return n; }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git14100.00%1100.00%
Total14100.00%1100.00%


static inline block_t cpu_to_block(unsigned long n) { return n; }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git14100.00%1100.00%
Total14100.00%1100.00%


static inline block_t *i_data(struct inode *inode) { return (block_t *)minix_i(inode)->u.i2_data; }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git2488.89%150.00%
linus torvaldslinus torvalds311.11%150.00%
Total27100.00%2100.00%

#define DIRCOUNT 7 #define INDIRCOUNT(sb) (1 << ((sb)->s_blocksize_bits - 2))
static int block_to_path(struct inode * inode, long block, int offsets[DEPTH]) { int n = 0; struct super_block *sb = inode->i_sb; if (block < 0) { printk("MINIX-fs: block_to_path: block %ld < 0 on dev %pg\n", block, sb->s_bdev); } else if ((u64)block * (u64)sb->s_blocksize >= minix_sb(sb)->s_max_size) { if (printk_ratelimit()) printk("MINIX-fs: block_to_path: " "block %ld too big on dev %pg\n", block, sb->s_bdev); } else if (block < DIRCOUNT) { offsets[n++] = block; } else if ((block -= DIRCOUNT) < INDIRCOUNT(sb)) { offsets[n++] = DIRCOUNT; offsets[n++] = block; } else if ((block -= INDIRCOUNT(sb)) < INDIRCOUNT(sb) * INDIRCOUNT(sb)) { offsets[n++] = DIRCOUNT + 1; offsets[n++] = block / INDIRCOUNT(sb); offsets[n++] = block % INDIRCOUNT(sb); } else { block -= INDIRCOUNT(sb) * INDIRCOUNT(sb); offsets[n++] = DIRCOUNT + 2; offsets[n++] = (block / INDIRCOUNT(sb)) / INDIRCOUNT(sb); offsets[n++] = (block / INDIRCOUNT(sb)) % INDIRCOUNT(sb); offsets[n++] = block % INDIRCOUNT(sb); } return n; }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git17160.21%114.29%
erik van der kouweerik van der kouwe7024.65%114.29%
eric sandeeneric sandeen186.34%114.29%
vladimir serbinenkovladimir serbinenko113.87%114.29%
andries brouwerandries brouwer93.17%114.29%
brian gerstbrian gerst31.06%114.29%
dmitriy monakhovdmitriy monakhov20.70%114.29%
Total284100.00%7100.00%

#include "itree_common.c"
int V2_minix_get_block(struct inode * inode, long block, struct buffer_head *bh_result, int create) { return get_block(inode, block, bh_result, create); }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git33100.00%1100.00%
Total33100.00%1100.00%


void V2_minix_truncate(struct inode * inode) { truncate(inode); }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git15100.00%1100.00%
Total15100.00%1100.00%


unsigned V2_minix_blocks(loff_t size, struct super_block *sb) { return nblocks(size, sb); }

Contributors

PersonTokensPropCommitsCommitProp
al viroal viro1466.67%150.00%
andries brouwerandries brouwer733.33%150.00%
Total21100.00%2100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git29365.84%19.09%
erik van der kouweerik van der kouwe8118.20%19.09%
eric sandeeneric sandeen184.04%19.09%
andries brouwerandries brouwer163.60%19.09%
al viroal viro153.37%218.18%
vladimir serbinenkovladimir serbinenko112.47%19.09%
brian gerstbrian gerst30.67%19.09%
linus torvaldslinus torvalds30.67%19.09%
christoph hellwigchristoph hellwig30.67%19.09%
dmitriy monakhovdmitriy monakhov20.45%19.09%
Total445100.00%11100.00%
Directory: fs/minix
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.