亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bitmap.c

?? linux0.11內核源代碼,學習內核入門必看
?? C
字號:
/* *  linux/fs/bitmap.c * *  (C) 1991  Linus Torvalds *//* bitmap.c contains the code that handles the inode and block bitmaps */#include <string.h>#include <linux/sched.h>#include <linux/kernel.h>#define clear_block(addr) \__asm__("cld\n\t" \	"rep\n\t" \	"stosl" \	::"a" (0),"c" (BLOCK_SIZE/4),"D" ((long) (addr)):"cx","di")#define set_bit(nr,addr) ({\register int res __asm__("ax"); \__asm__ __volatile__("btsl %2,%3\n\tsetb %%al": \"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \res;})#define clear_bit(nr,addr) ({\register int res __asm__("ax"); \__asm__ __volatile__("btrl %2,%3\n\tsetnb %%al": \"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \res;})#define find_first_zero(addr) ({ \int __res; \__asm__("cld\n" \	"1:\tlodsl\n\t" \	"notl %%eax\n\t" \	"bsfl %%eax,%%edx\n\t" \	"je 2f\n\t" \	"addl %%edx,%%ecx\n\t" \	"jmp 3f\n" \	"2:\taddl $32,%%ecx\n\t" \	"cmpl $8192,%%ecx\n\t" \	"jl 1b\n" \	"3:" \	:"=c" (__res):"c" (0),"S" (addr):"ax","dx","si"); \__res;})void free_block(int dev, int block){	struct super_block * sb;	struct buffer_head * bh;	if (!(sb = get_super(dev)))		panic("trying to free block on nonexistent device");	if (block < sb->s_firstdatazone || block >= sb->s_nzones)		panic("trying to free block not in datazone");	bh = get_hash_table(dev,block);	if (bh) {		if (bh->b_count != 1) {			printk("trying to free block (%04x:%d), count=%d\n",				dev,block,bh->b_count);			return;		}		bh->b_dirt=0;		bh->b_uptodate=0;		brelse(bh);	}	block -= sb->s_firstdatazone - 1 ;	if (clear_bit(block&8191,sb->s_zmap[block/8192]->b_data)) {		printk("block (%04x:%d) ",dev,block+sb->s_firstdatazone-1);		panic("free_block: bit already cleared");	}	sb->s_zmap[block/8192]->b_dirt = 1;}int new_block(int dev){	struct buffer_head * bh;	struct super_block * sb;	int i,j;	if (!(sb = get_super(dev)))		panic("trying to get new block from nonexistant device");	j = 8192;	for (i=0 ; i<8 ; i++)		if (bh=sb->s_zmap[i])			if ((j=find_first_zero(bh->b_data))<8192)				break;	if (i>=8 || !bh || j>=8192)		return 0;	if (set_bit(j,bh->b_data))		panic("new_block: bit already set");	bh->b_dirt = 1;	j += i*8192 + sb->s_firstdatazone-1;	if (j >= sb->s_nzones)		return 0;	if (!(bh=getblk(dev,j)))		panic("new_block: cannot get block");	if (bh->b_count != 1)		panic("new block: count is != 1");	clear_block(bh->b_data);	bh->b_uptodate = 1;	bh->b_dirt = 1;	brelse(bh);	return j;}void free_inode(struct m_inode * inode){	struct super_block * sb;	struct buffer_head * bh;	if (!inode)		return;	if (!inode->i_dev) {		memset(inode,0,sizeof(*inode));		return;	}	if (inode->i_count>1) {		printk("trying to free inode with count=%d\n",inode->i_count);		panic("free_inode");	}	if (inode->i_nlinks)		panic("trying to free inode with links");	if (!(sb = get_super(inode->i_dev)))		panic("trying to free inode on nonexistent device");	if (inode->i_num < 1 || inode->i_num > sb->s_ninodes)		panic("trying to free inode 0 or nonexistant inode");	if (!(bh=sb->s_imap[inode->i_num>>13]))		panic("nonexistent imap in superblock");	if (clear_bit(inode->i_num&8191,bh->b_data))		printk("free_inode: bit already cleared.\n\r");	bh->b_dirt = 1;	memset(inode,0,sizeof(*inode));}struct m_inode * new_inode(int dev){	struct m_inode * inode;	struct super_block * sb;	struct buffer_head * bh;	int i,j;	if (!(inode=get_empty_inode()))		return NULL;	if (!(sb = get_super(dev)))		panic("new_inode with unknown device");	j = 8192;	for (i=0 ; i<8 ; i++)		if (bh=sb->s_imap[i])			if ((j=find_first_zero(bh->b_data))<8192)				break;	if (!bh || j >= 8192 || j+i*8192 > sb->s_ninodes) {		iput(inode);		return NULL;	}	if (set_bit(j,bh->b_data))		panic("new_inode: bit already set");	bh->b_dirt = 1;	inode->i_count=1;	inode->i_nlinks=1;	inode->i_dev=dev;	inode->i_uid=current->euid;	inode->i_gid=current->egid;	inode->i_dirt=1;	inode->i_num = j + i*8192;	inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;	return inode;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品麻豆| 99久久久国产精品| 91在线视频观看| 日韩精品一区二区在线| 亚洲免费在线电影| 国产一区三区三区| 欧美日韩亚洲不卡| 亚洲少妇中出一区| 国产一区二区精品久久91| 欧美视频一区在线| 亚洲精品国产精华液| 国产成人综合视频| 精品999在线播放| 日本不卡中文字幕| 欧美日韩视频专区在线播放| 国产欧美一区二区三区沐欲| 蜜桃在线一区二区三区| 欧美福利视频导航| 亚瑟在线精品视频| 欧美私人免费视频| 亚洲一区二区三区精品在线| 91蜜桃传媒精品久久久一区二区| 久久久久9999亚洲精品| 国产在线一区二区| 精品少妇一区二区三区视频免付费 | 首页欧美精品中文字幕| 欧美亚洲一区二区在线观看| 亚洲视频免费在线| 在线观看91精品国产入口| 亚洲日本护士毛茸茸| 99久久精品国产网站| 国产精品久久看| 99久久精品一区二区| 亚洲婷婷在线视频| 91黄色激情网站| 亚洲高清视频的网址| 欧美日韩精品一二三区| 日韩精品福利网| 欧美一二三四区在线| 久久成人麻豆午夜电影| 久久久精品综合| 成人免费看视频| 亚洲黄色片在线观看| 欧美午夜不卡在线观看免费| 亚洲国产中文字幕| 欧美xxx久久| 国产98色在线|日韩| 亚洲视频香蕉人妖| 欧美在线播放高清精品| 日本伊人午夜精品| 久久久久久久久久久久久女国产乱| 国产成人精品影院| 一区二区三区精品视频| 91精品国产91久久综合桃花 | 亚洲欧洲av色图| 一本在线高清不卡dvd| 亚洲韩国精品一区| 日韩精品在线一区二区| 成人久久久精品乱码一区二区三区 | 精品国产a毛片| 成人午夜电影小说| 亚洲国产另类av| 久久天堂av综合合色蜜桃网| 99久久国产免费看| 日韩福利视频导航| 中文字幕乱码一区二区免费| 在线观看成人免费视频| 国产综合久久久久影院| 亚洲欧美日韩中文播放| 日韩精品在线一区二区| 一本久久综合亚洲鲁鲁五月天| 日韩vs国产vs欧美| 自拍偷拍亚洲欧美日韩| 日韩一区二区三区电影在线观看 | 激情五月激情综合网| 综合网在线视频| 欧美成人官网二区| 日本韩国欧美国产| 国产精品1024久久| 日韩国产一二三区| 中文字幕一区二区三区四区| 日韩欧美二区三区| 欧美视频精品在线观看| 懂色av噜噜一区二区三区av| 久久精品国产在热久久| 一区二区高清在线| 国产精品福利电影一区二区三区四区| 91精品国产欧美一区二区| 91久久精品一区二区三区| 丁香一区二区三区| 国产原创一区二区| 久久国内精品自在自线400部| 亚洲一区在线播放| 亚洲欧美日本在线| 国产精品久久久久久妇女6080 | 韩国欧美国产一区| 日韩黄色免费电影| 亚洲国产精品久久人人爱蜜臀 | 欧美无砖砖区免费| 在线免费观看视频一区| 99国产精品视频免费观看| 国产精品1区2区| 国产主播一区二区三区| 久久精品国内一区二区三区| 视频一区二区不卡| 午夜精品福利一区二区蜜股av| 亚洲素人一区二区| 亚洲欧美综合在线精品| 亚洲国产精品激情在线观看| 久久―日本道色综合久久| 欧美一区二区三区在线| 4438x亚洲最大成人网| 欧美日韩免费一区二区三区视频| 在线一区二区三区| 欧美性videosxxxxx| 欧美午夜精品久久久久久孕妇| 欧美综合天天夜夜久久| 欧美日韩国产影片| 91精品啪在线观看国产60岁| 欧美丰满高潮xxxx喷水动漫 | 欧美亚洲图片小说| 欧美亚洲动漫制服丝袜| 欧美日韩成人在线| 日韩一二三区视频| 久久综合av免费| 国产精品国产三级国产三级人妇 | 国产v日产∨综合v精品视频| 成人免费看的视频| 日本大香伊一区二区三区| 欧美特级限制片免费在线观看| 精品视频一区三区九区| 日韩亚洲欧美在线观看| 久久青草国产手机看片福利盒子 | 日韩中文字幕区一区有砖一区| 午夜成人免费电影| 开心九九激情九九欧美日韩精美视频电影 | 综合久久综合久久| 亚洲777理论| 国产自产v一区二区三区c| 国产成人免费视频一区| 99综合电影在线视频| 97se狠狠狠综合亚洲狠狠| av资源网一区| 777欧美精品| 久久免费美女视频| 日韩欧美国产精品一区| 亚洲视频在线观看三级| 奇米在线7777在线精品| av中文字幕一区| 欧美一区二区三级| 中文字幕一区二区三区不卡 | 国产精品美日韩| 亚洲成人三级小说| 丰满亚洲少妇av| 欧美日韩国产一级二级| 亚洲国产电影在线观看| 亚洲h精品动漫在线观看| 国模大尺度一区二区三区| 色婷婷国产精品| 亚洲精品一区二区三区蜜桃下载| 亚洲三级在线免费| 国产在线一区二区综合免费视频| 在线观看精品一区| 国产精品免费视频一区| 日韩中文欧美在线| 99视频一区二区| 国产亚洲欧美中文| 蜜桃视频一区二区| 欧美乱妇一区二区三区不卡视频| 国产精品色哟哟| 久久99精品久久久久| 欧美日本一区二区在线观看| 1024精品合集| 成人av影视在线观看| 精品国产伦理网| 久久精品国产精品亚洲红杏| 在线观看网站黄不卡| 日韩一区在线免费观看| 成人小视频免费在线观看| 日韩三级电影网址| 日韩精品免费专区| 欧美亚洲动漫精品| 亚洲一区二区三区视频在线播放| 99国产精品久久久久久久久久久| 国产欧美一区二区在线观看| 国产在线精品一区在线观看麻豆| 91精品在线观看入口| 亚洲一二三四在线| 欧美主播一区二区三区| 亚洲午夜成aⅴ人片| 91视频免费看| 国产精品国产三级国产aⅴ原创| 国产精品一区二区三区网站| 26uuu色噜噜精品一区二区| 麻豆成人在线观看| 欧美一卡二卡三卡| 久久国产精品99精品国产| 欧美一区二区福利视频| 麻豆一区二区三区| 久久嫩草精品久久久精品一|