cregit-Linux how code gets into the kernel

Release 4.15 fs/ext4/bitmap.c

Directory: fs/ext4
// SPDX-License-Identifier: GPL-2.0
/*
 *  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 Kleikamp1246.15%120.00%
Akinobu Mita934.62%120.00%
Theodore Y. Ts'o415.38%240.00%
Mingming 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. Wong12199.18%150.00%
Dmitriy 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. Wong9898.99%150.00%
Dmitriy 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. Wong12591.91%133.33%
Tao Ma107.35%133.33%
Dmitriy 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. Wong9589.62%133.33%
Tao Ma109.43%133.33%
Dmitriy Monakhov10.94%133.33%
Total106100.00%3100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Darrick J. Wong43988.33%218.18%
Tao Ma204.02%19.09%
Dave Kleikamp173.42%19.09%
Akinobu Mita91.81%19.09%
Dmitriy Monakhov40.80%19.09%
Theodore Y. Ts'o40.80%218.18%
Mingming Cao20.40%19.09%
Greg Kroah-Hartman10.20%19.09%
Christoph Hellwig10.20%19.09%
Total497100.00%11100.00%
Directory: fs/ext4
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.