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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? linear.c

?? Linux內(nèi)核源代碼 為壓縮文件 是<<Linux內(nèi)核>>一書中的源代碼
?? C
字號:
/*   linear.c : Multiple Devices driver for Linux              Copyright (C) 1994-96 Marc ZYNGIER	      <zyngier@ufr-info-p7.ibp.fr> or	      <maz@gloups.fdn.fr>   Linear mode management functions.   This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2, or (at your option)   any later version.      You should have received a copy of the GNU General Public License   (for example /usr/src/linux/COPYING); if not, write to the Free   Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */#include <linux/module.h>#include <linux/raid/md.h>#include <linux/malloc.h>#include <linux/raid/linear.h>#define MAJOR_NR MD_MAJOR#define MD_DRIVER#define MD_PERSONALITYstatic int linear_run (mddev_t *mddev){	linear_conf_t *conf;	struct linear_hash *table;	mdk_rdev_t *rdev;	int size, i, j, nb_zone;	unsigned int curr_offset;	MOD_INC_USE_COUNT;	conf = kmalloc (sizeof (*conf), GFP_KERNEL);	if (!conf)		goto out;	mddev->private = conf;	if (md_check_ordering(mddev)) {		printk("linear: disks are not ordered, aborting!\n");		goto out;	}	/*	 * Find the smallest device.	 */	conf->smallest = NULL;	curr_offset = 0;	ITERATE_RDEV_ORDERED(mddev,rdev,j) {		dev_info_t *disk = conf->disks + j;		disk->dev = rdev->dev;		disk->size = rdev->size;		disk->offset = curr_offset;		curr_offset += disk->size;		if (!conf->smallest || (disk->size < conf->smallest->size))			conf->smallest = disk;	}	nb_zone = conf->nr_zones =		md_size[mdidx(mddev)] / conf->smallest->size +		((md_size[mdidx(mddev)] % conf->smallest->size) ? 1 : 0);  	conf->hash_table = kmalloc (sizeof (struct linear_hash) * nb_zone,					GFP_KERNEL);	if (!conf->hash_table)		goto out;	/*	 * Here we generate the linear hash table	 */	table = conf->hash_table;	i = 0;	size = 0;	for (j = 0; j < mddev->nb_dev; j++) {		dev_info_t *disk = conf->disks + j;		if (size < 0) {			table[-1].dev1 = disk;		}		size += disk->size;		while (size>0) {			table->dev0 = disk;			table->dev1 = NULL;			size -= conf->smallest->size;			table++;		}	}	if (table-conf->hash_table != nb_zone)		BUG();	return 0;out:	if (conf)		kfree(conf);	MOD_DEC_USE_COUNT;	return 1;}static int linear_stop (mddev_t *mddev){	linear_conf_t *conf = mddev_to_conf(mddev);  	kfree(conf->hash_table);	kfree(conf);	MOD_DEC_USE_COUNT;	return 0;}static int linear_make_request (mddev_t *mddev,			int rw, struct buffer_head * bh){        linear_conf_t *conf = mddev_to_conf(mddev);        struct linear_hash *hash;        dev_info_t *tmp_dev;        long block;	block = bh->b_rsector >> 1;	hash = conf->hash_table + (block / conf->smallest->size);  	if (block >= (hash->dev0->size + hash->dev0->offset)) {		if (!hash->dev1) {			printk ("linear_make_request : hash->dev1==NULL for block %ld\n",						block);			buffer_IO_error(bh);			return 0;		}		tmp_dev = hash->dev1;	} else		tmp_dev = hash->dev0;    	if (block >= (tmp_dev->size + tmp_dev->offset)				|| block < tmp_dev->offset) {		printk ("linear_make_request: Block %ld out of bounds on dev %s size %ld offset %ld\n", block, kdevname(tmp_dev->dev), tmp_dev->size, tmp_dev->offset);		buffer_IO_error(bh);		return 0;	}	bh->b_rdev = tmp_dev->dev;	bh->b_rsector = bh->b_rsector - (tmp_dev->offset << 1);	return 1;}static int linear_status (char *page, mddev_t *mddev){	int sz = 0;#undef MD_DEBUG#ifdef MD_DEBUG	int j;	linear_conf_t *conf = mddev_to_conf(mddev);  	sz += sprintf(page+sz, "      ");	for (j = 0; j < conf->nr_zones; j++)	{		sz += sprintf(page+sz, "[%s",			partition_name(conf->hash_table[j].dev0->dev));		if (conf->hash_table[j].dev1)			sz += sprintf(page+sz, "/%s] ",			  partition_name(conf->hash_table[j].dev1->dev));		else			sz += sprintf(page+sz, "] ");	}	sz += sprintf(page+sz, "\n");#endif	sz += sprintf(page+sz, " %dk rounding", mddev->param.chunk_size/1024);	return sz;}static mdk_personality_t linear_personality={	name:		"linear",	make_request:	linear_make_request,	run:		linear_run,	stop:		linear_stop,	status:		linear_status,};static int md__init linear_init (void){	return register_md_personality (LINEAR, &linear_personality);}static void linear_exit (void){	unregister_md_personality (LINEAR);}module_init(linear_init);module_exit(linear_exit);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区视频在线| 2023国产精品视频| 亚洲自拍偷拍麻豆| 欧美中文字幕久久| 日韩激情视频在线观看| 91精品国产一区二区三区| 日本特黄久久久高潮| 欧美v日韩v国产v| 国产乱码精品一区二区三区忘忧草 | 日韩欧美一级片| 精品伊人久久久久7777人| 久久精品视频免费| 色乱码一区二区三区88| 无吗不卡中文字幕| 久久综合999| 91论坛在线播放| 日韩精品国产精品| 久久久国产精华| 99精品视频一区| 蜜桃视频一区二区| 国产精品久久久久影视| 欧美视频日韩视频| 国产米奇在线777精品观看| 亚洲色图视频网站| 欧美一区二区播放| 99久久国产综合精品色伊| 日韩综合在线视频| 久久欧美一区二区| 欧美午夜在线一二页| 国产麻豆一精品一av一免费| 亚洲免费在线看| 精品欧美一区二区三区精品久久 | 日韩av在线发布| 国产精品天美传媒沈樵| 欧美高清视频不卡网| 丁香一区二区三区| 日本成人中文字幕| 自拍偷拍亚洲欧美日韩| 欧美一级久久久| 91成人国产精品| 国产白丝精品91爽爽久久| 五月综合激情网| 综合激情网...| 国产欧美一区二区精品婷婷 | 99久久99久久精品免费看蜜桃| 五月天中文字幕一区二区| 国产午夜精品一区二区三区嫩草 | 精品欧美一区二区在线观看| 91香蕉视频污| 国产成人综合在线观看| 日韩av在线播放中文字幕| 亚洲黄色录像片| 中文子幕无线码一区tr| 精品女同一区二区| 9191国产精品| 欧洲av在线精品| 91麻豆自制传媒国产之光| 国产一区二区三区在线观看免费视频 | 久久综合狠狠综合久久综合88| 欧美日韩免费观看一区二区三区| av色综合久久天堂av综合| 国产一区二区三区在线观看免费 | 国产白丝网站精品污在线入口| 久久精品99国产精品| 日韩在线一二三区| 亚洲一级二级在线| 亚洲二区在线观看| 一区二区三区在线高清| 亚洲日本乱码在线观看| 国产精品久久久久9999吃药| 国产农村妇女毛片精品久久麻豆| 2020国产精品久久精品美国| 精品国产a毛片| 欧美精品一区男女天堂| 欧美sm美女调教| 精品粉嫩超白一线天av| 精品福利一二区| 国产欧美视频一区二区| 日韩精品一区二区三区在线播放| 欧美电影免费观看完整版| 日韩视频国产视频| www国产精品av| 国产天堂亚洲国产碰碰| 中文字幕乱码日本亚洲一区二区| 国产精品久久久久7777按摩| 亚洲欧洲精品天堂一级| 亚洲免费在线电影| 亚洲国产日韩综合久久精品| 天堂久久一区二区三区| 久久精品国产成人一区二区三区| 日韩精品亚洲专区| 免费欧美在线视频| 国产乱子伦视频一区二区三区| 国产91露脸合集magnet | 五月天精品一区二区三区| 日韩 欧美一区二区三区| 美女网站视频久久| 国产乱人伦精品一区二区在线观看| 粉嫩13p一区二区三区| 97久久超碰国产精品| 欧美色爱综合网| 精品久久久久久久久久久院品网| 国产人伦精品一区二区| 亚洲另类在线视频| 五月激情六月综合| 国产精品一区二区视频| 色偷偷成人一区二区三区91 | 亚洲高清三级视频| 精品制服美女丁香| 99久久伊人精品| 欧美精品乱码久久久久久按摩 | 国产欧美日本一区二区三区| 亚洲色图视频网站| 裸体歌舞表演一区二区| 国产精品小仙女| 欧美日韩一区久久| 国产视频一区二区在线| 一区二区三区不卡视频 | 久久成人久久爱| 色域天天综合网| 精品少妇一区二区三区在线播放| 亚洲国产精品ⅴa在线观看| 亚洲成av人在线观看| 国产成人免费在线观看不卡| 欧美性受xxxx| 欧美国产乱子伦| 日本va欧美va欧美va精品| 91亚洲精品久久久蜜桃| 精品免费99久久| 亚洲一区二区中文在线| 国产91对白在线观看九色| 欧美麻豆精品久久久久久| 中文字幕一区二区三区精华液| 奇米综合一区二区三区精品视频| 成人av在线一区二区| 精品日韩av一区二区| 亚洲成国产人片在线观看| a级高清视频欧美日韩| 久久女同性恋中文字幕| 青青草国产精品97视觉盛宴| 91久久精品日日躁夜夜躁欧美| 久久精品一级爱片| 老色鬼精品视频在线观看播放| 欧美日韩一区在线观看| 亚洲久草在线视频| 成人午夜av电影| 国产日本欧洲亚洲| 国产精品一线二线三线精华| 日韩欧美一卡二卡| 免费观看日韩电影| 欧美高清视频不卡网| 亚洲成在线观看| 91色九色蝌蚪| 国产精品的网站| 国产成人夜色高潮福利影视| 精品国产免费人成电影在线观看四季| 亚洲国产精品久久人人爱| 色一情一伦一子一伦一区| 中文字幕一区二区三区四区不卡| 国产精品白丝av| 久久久美女毛片| 狠狠色狠狠色综合| 久久噜噜亚洲综合| 国产乱淫av一区二区三区| 久久欧美中文字幕| 国产成人在线影院| 欧美国产精品中文字幕| bt欧美亚洲午夜电影天堂| 国产欧美日韩麻豆91| 成人午夜在线免费| 国产精品入口麻豆原神| 99九九99九九九视频精品| 中文字幕人成不卡一区| 99麻豆久久久国产精品免费| 亚洲天堂成人在线观看| 国产乱人伦精品一区二区在线观看| 亚洲猫色日本管| 色综合中文字幕国产 | 国产精品综合一区二区三区| 久久理论电影网| av一区二区久久| 亚洲一线二线三线视频| 欧美精品1区2区| 国产麻豆日韩欧美久久| 日韩久久一区二区| 欧美午夜影院一区| 久久超级碰视频| 欧美国产激情二区三区| 91猫先生在线| 日韩二区三区四区| 久久精品夜夜夜夜久久| 91美女视频网站| 日本不卡在线视频| 国产欧美综合在线| 日本韩国一区二区三区视频| 日本不卡一二三| 中文字幕不卡在线观看| 久久国产精品99精品国产| 国产精品丝袜在线| 欧美日韩国产a|