cregit-Linux how code gets into the kernel

Release 4.10 fs/ext4/bitmap.c

Directory: fs/ext4
/*
 *  linux/fs/ext4/bitmap.c
 *
 * Copyright (C) 1992, 1993, 1994, 1995
 * Remy Card (card@masi.ibp.fr)
 * Laboratoire MASI - Institut Blaise Pascal
 * Universite Pierre et Marie Curie (Paris VI)
 */

#include <linux/buffer_head.h>
#include "ext4.h"


unsigned int ext4_count_free(char *bitmap, unsigned int numchars) { return numchars * BITS_PER_BYTE - memweight(bitmap, numchars); }

Contributors

PersonTokensPropCommitsCommitProp
dave kleikampdave kleikamp1246.15%120.00%
akinobu mitaakinobu mita934.62%120.00%
theodore tsotheodore tso415.38%240.00%
mingming caomingming cao13.85%120.00%
Total26100.00%5100.00%


int ext4_inode_bitmap_csum_verify(struct super_block *sb, ext4_group_t group, struct ext4_group_desc *gdp, struct buffer_head *bh, int sz) { __u32 hi; __u32 provided, calculated; struct ext4_sb_info *sbi = EXT4_SB(sb); if (!ext4_has_metadata_csum(sb)) return 1; provided = le16_to_cpu(gdp->bg_inode_bitmap_csum_lo); calculated = ext4_chksum(sbi, sbi->s_csum_seed, (__u8 *)bh->b_data, sz); if (sbi->s_desc_size >= EXT4_BG_INODE_BITMAP_CSUM_HI_END) { hi = le16_to_cpu(gdp->bg_inode_bitmap_csum_hi); provided |= (hi << 16); } else calculated &= 0xFFFF; return provided == calculated; }

Contributors

PersonTokensPropCommitsCommitProp
darrick j. wongdarrick j. wong12199.18%150.00%
dmitriy monakhovdmitriy monakhov10.82%150.00%
Total122100.00%2100.00%


void ext4_inode_bitmap_csum_set(struct super_block *sb, ext4_group_t group, struct ext4_group_desc *gdp, struct buffer_head *bh, int sz) { __u32 csum; struct ext4_sb_info *sbi = EXT4_SB(sb); if (!ext4_has_metadata_csum(sb)) return; csum = ext4_chksum(sbi, sbi->s_csum_seed, (__u8 *)bh->b_data, sz); gdp->bg_inode_bitmap_csum_lo = cpu_to_le16(csum & 0xFFFF); if (sbi->s_desc_size >= EXT4_BG_INODE_BITMAP_CSUM_HI_END) gdp->bg_inode_bitmap_csum_hi = cpu_to_le16(csum >> 16); }

Contributors

PersonTokensPropCommitsCommitProp
darrick j. wongdarrick j. wong9898.99%150.00%
dmitriy monakhovdmitriy monakhov11.01%150.00%
Total99100.00%2100.00%


int ext4_block_bitmap_csum_verify(struct super_block *sb, ext4_group_t group, struct ext4_group_desc *gdp, struct buffer_head *bh) { __u32 hi; __u32 provided, calculated; struct ext4_sb_info *sbi = EXT4_SB(sb); int sz = EXT4_CLUSTERS_PER_GROUP(sb) / 8; if (!ext4_has_metadata_csum(sb)) return 1; provided = le16_to_cpu(gdp->bg_block_bitmap_csum_lo); calculated = ext4_chksum(sbi, sbi->s_csum_seed, (__u8 *)bh->b_data, sz); if (sbi->s_desc_size >= EXT4_BG_BLOCK_BITMAP_CSUM_HI_END) { hi = le16_to_cpu(gdp->bg_block_bitmap_csum_hi); provided |= (hi << 16); } else calculated &= 0xFFFF; if (provided == calculated) return 1; return 0; }

Contributors

PersonTokensPropCommitsCommitProp
darrick j. wongdarrick j. wong12591.91%133.33%
tao matao ma107.35%133.33%
dmitriy monakhovdmitriy monakhov10.74%133.33%
Total136100.00%3100.00%


void ext4_block_bitmap_csum_set(struct super_block *sb, ext4_group_t group, struct ext4_group_desc *gdp, struct buffer_head *bh) { int sz = EXT4_CLUSTERS_PER_GROUP(sb) / 8; __u32 csum; struct ext4_sb_info *sbi = EXT4_SB(sb); if (!ext4_has_metadata_csum(sb)) return; csum = ext4_chksum(sbi, sbi->s_csum_seed, (__u8 *)bh->b_data, sz); gdp->bg_block_bitmap_csum_lo = cpu_to_le16(csum & 0xFFFF); if (sbi->s_desc_size >= EXT4_BG_BLOCK_BITMAP_CSUM_HI_END) gdp->bg_block_bitmap_csum_hi = cpu_to_le16(csum >> 16); }

Contributors

PersonTokensPropCommitsCommitProp
darrick j. wongdarrick j. wong9589.62%133.33%
tao matao ma109.43%133.33%
dmitriy monakhovdmitriy monakhov10.94%133.33%
Total106100.00%3100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
darrick j. wongdarrick j. wong43988.51%220.00%
tao matao ma204.03%110.00%
dave kleikampdave kleikamp173.43%110.00%
akinobu mitaakinobu mita91.81%110.00%
theodore tsotheodore tso40.81%220.00%
dmitriy monakhovdmitriy monakhov40.81%110.00%
mingming caomingming cao20.40%110.00%
christoph hellwigchristoph hellwig10.20%110.00%
Total496100.00%10100.00%
Directory: fs/ext4
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.