linux jbd2工作原理,JBD2(journaling block device 2)系统分析(五)

static journal_t *ext4_get_dev_journal(struct super_block *sb,

dev_t j_dev)

{

struct buffer_head *bh;

journal_t *journal;

ext4_fsblk_t start;

ext4_fsblk_t len;

int hblock, blocksize;

ext4_fsblk_t sb_block;

unsigned long offset;

struct ext4_super_block *es;

struct block_device *bdev;

//检查这个分区是不是有兼容功能,如果没有,并且有日志,那就报错。

BUG_ON(!EXT4_HAS_COMPAT_FEATURE(sb, EXT4_FEATURE_COMPAT_HAS_JOURNAL));

// 这个函数是根据设备号获得设备,这个函数也是相当复杂的,这里就不讲了。

// 如果要详细讲来,10篇blog也写不完。它就是根据设备编号获得一个描述设备

//的结构体

bdev = ext4_blkdev_get(j_dev);

if (bdev == NULL) //当然如果得到的空,就是出错了,我们也就不费劲,直接返回。

return NULL;

/*

从那个bd_claim的函数名,我们就可以宣称这个设备或设备分区的的所有都就是sb,

如果当前设备已经属于其它的所有者,并且不是当然sb,那么就出错了。然后调用

blkdev_pu

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值