cregit-Linux how code gets into the kernel

Release 4.18 fs/minix/itree_v2.c

Directory: fs/minix
// SPDX-License-Identifier: GPL-2.0
#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
Linus Torvalds (pre-git)14100.00%1100.00%
Total14100.00%1100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds (pre-git)14100.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
Linus Torvalds (pre-git)2488.89%150.00%
Linus 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
Linus Torvalds (pre-git)17160.21%114.29%
Erik van der Kouwe7024.65%114.29%
Eric Sandeen186.34%114.29%
Vladimir Serbinenko113.87%114.29%
Andries E. Brouwer93.17%114.29%
Brian Gerst31.06%114.29%
Dmitriy 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
Linus Torvalds (pre-git)33100.00%1100.00%
Total33100.00%1100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds (pre-git)15100.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 Viro1466.67%150.00%
Andries E. Brouwer733.33%150.00%
Total21100.00%2100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds (pre-git)29365.70%18.33%
Erik van der Kouwe8118.16%18.33%
Eric Sandeen184.04%18.33%
Andries E. Brouwer163.59%18.33%
Al Viro153.36%216.67%
Vladimir Serbinenko112.47%18.33%
Linus Torvalds30.67%18.33%
Brian Gerst30.67%18.33%
Christoph Hellwig30.67%18.33%
Dmitriy Monakhov20.45%18.33%
Greg Kroah-Hartman10.22%18.33%
Total446100.00%12100.00%
Directory: fs/minix
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.