当前位置: 首页 > news >正文

网站做众筹需哪些条件网站册数

网站做众筹需哪些条件,网站册数,免费制作简历app,网站被采集块设备的分区信息由struct hd_struct结构描述#xff0c;其中最重要的信息就是分区的起始扇区号和分区的大小。所有分区信息都一起保存在gendisk的part_tbl结构中#xff0c;同时每个分区的block_device也可以通过bd_part来查询对应的分区信息。下图描述了block_device,gendi…块设备的分区信息由struct hd_struct结构描述其中最重要的信息就是分区的起始扇区号和分区的大小。所有分区信息都一起保存在gendisk的part_tbl结构中同时每个分区的block_device也可以通过bd_part来查询对应的分区信息。下图描述了block_device,gendisk以及分区描述符之间的关系(块设备有两个分区)下面通过打开一个块设备的过程来理解这些结构之间的联系。对于块设备文件的操作通过block_dev伪文件系统来完成open操作定义的函数为blkdev_open()blkdev_open的主要任务有两个1.获取设备的block_device信息2.从gendisk中读取相关信息保存到block_device同时建立数据结构之间的联系static int blkdev_open(struct inode * inode, struct file * filp){struct block_device *bdev;int res;/** Preserve backwards compatibility and allow large file access* even if userspace doesnt ask for it explicitly. Some mkfs* binary needs it. We might want to drop this workaround* during an unstable branch.*/filp-f_flags | O_LARGEFILE;if (filp-f_flags O_NDELAY)filp-f_mode | FMODE_NDELAY;if (filp-f_flags O_EXCL)filp-f_mode | FMODE_EXCL;if ((filp-f_flags O_ACCMODE) 3)filp-f_mode | FMODE_WRITE_IOCTL;bdev bd_acquire(inode);//获取block device实例if (bdev NULL)return -ENOMEM;filp-f_mapping bdev-bd_inode-i_mapping;res blkdev_get(bdev, filp-f_mode);//通过gendisk获取信息并建立联系if (res)return res;if (filp-f_mode FMODE_EXCL) {res bd_claim(bdev, filp);if (res)goto out_blkdev_put;}return 0;out_blkdev_put:blkdev_put(bdev, filp-f_mode);return res;}bd_acquire()负责获取block_device的实例static struct block_device *bd_acquire(struct inode *inode){struct block_device *bdev;spin_lock(bdev_lock);bdev inode-i_bdev;//如果这个设备之前被打开过则可以直接通过i_bdev获取if (bdev) {atomic_inc(bdev-bd_inode-i_count);spin_unlock(bdev_lock);return bdev;}spin_unlock(bdev_lock);bdev bdget(inode-i_rdev);//通过设备号的信息来获取block device实例if (bdev) {spin_lock(bdev_lock);if (!inode-i_bdev) {/** We take an additional bd_inode-i_count for inode,* and its released in clear_inode() of inode.* So, we can access it via -i_mapping always* without igrab().*/atomic_inc(bdev-bd_inode-i_count);inode-i_bdev bdev;inode-i_mapping bdev-bd_inode-i_mapping;list_add(inode-i_devices, bdev-bd_inodes);}spin_unlock(bdev_lock);}return bdev;}-------------------------------分割线-------------------------------struct block_device *bdget(dev_t dev){struct block_device *bdev;struct inode *inode;/*这里先在inode的哈希表中进行查找与dev设备号对应的inode如果没找到的话则通过bdev伪文件系统创建bdev_inode(包含inode和block device的结构体)*/inode iget5_locked(blockdev_superblock, hash(dev),bdev_test, bdev_set, dev);if (!inode)return NULL;//通过inode获取bdev_inode,再通过bdev_inode获取block device实例bdev BDEV_I(inode)-bdev;if (inode-i_state I_NEW) {/*分别设置block device和inode的相关域*/bdev-bd_contains NULL;bdev-bd_inode inode;bdev-bd_block_size (1 inode-i_blkbits);bdev-bd_part_count 0;bdev-bd_invalidated 0;inode-i_mode S_IFBLK;inode-i_rdev dev;inode-i_bdev bdev;inode-i_data.a_ops def_blk_aops;mapping_set_gfp_mask(inode-i_data, GFP_USER);inode-i_data.backing_dev_info default_backing_dev_info;spin_lock(bdev_lock);list_add(bdev-bd_list, all_bdevs);spin_unlock(bdev_lock);unlock_new_inode(inode);}return bdev;}
http://www.huolong8.cn/news/337933/

相关文章:

  • php5 mysql网站开发基础与应用珠海软件公司排名
  • 谷歌云可以做网站吗免费模板简历
  • 做旅行社的都是在哪网站拿票防红域名生成
  • 阿里巴巴国际站运营教程福建建设执业资格官网
  • 温州网站建设推广重庆奉节网站建设公司哪家好
  • 有什么做视频的免费素材网站好工程竣工信息哪里可以查询
  • wordpress 顶部工具条网站怎么做优化步骤
  • 设计师接单网站申请注册邮箱
  • 宿州做企业网站宜春市城乡规划建设局网站
  • 深圳网站设计公司有哪些手机怎么做微信公众号
  • app网站与普通网站的区别网页特效素材
  • 织梦如何仿手机网站做网站什么空间好
  • 广东建设公司网站项目前期工作6个步骤
  • 网站开发 在线支付wordpress打开3秒
  • 网站顺序视频网站怎么做网站引流
  • 中国网站建设中心学设计在哪学
  • 网站建设相关wpdx主题wordpress
  • 没有服务器建网站全国定制网站服务器云主机
  • 你买域名我送网站天津市北辰区建设与管理局网站
  • 2018做网站赚钱不网上商城公司网站建设方案
  • 淘宝上如何免费开网店seo百度排名优化
  • 优化型网站的好处网页制作基础教程素材
  • c 做网站方便吗合作加盟
  • 盐城网站开发包括哪些群晖 多个wordpress
  • 苏州住房城乡建设部网站网站如何兼容ie6
  • 免费做元宵节卡片的网站手机app编程教程
  • 泰安住房和城乡建设厅网站平面设计素材网站哪个好
  • 企业做网站预付账款会计分录海口网站设计公司
  • 邢台企业手机网站建设杭州九鸿科技网站开发
  • 中土集团北方建设有限公司网站做软装的网站