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

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

?? block_dev.c

?? linux下的源代碼
?? C
字號:
/** linux/fs/block_dev.c** (C) 1991 Linus Torvalds*/#include <errno.h>		// 錯誤號頭文件。包含系統中各種出錯號。(Linus 從minix 中引進的)。#include <linux/sched.h>	// 調度程序頭文件,定義了任務結構task_struct、初始任務0 的數據,// 還有一些有關描述符參數設置和獲取的嵌入式匯編函數宏語句。#include <linux/kernel.h>	// 內核頭文件。含有一些內核常用函數的原形定義。#include <asm/segment.h>	// 段操作頭文件。定義了有關段寄存器操作的嵌入式匯編函數。#include <asm/system.h>		// 系統頭文件。定義了設置或修改描述符/中斷門等的嵌入式匯編宏。//// 數據塊寫函數 - 向指定設備從給定偏移處寫入指定長度字節數據。// 參數:dev - 設備號;pos - 設備文件中偏移量指針;buf - 用戶地址空間中緩沖區地址;// count - 要傳送的字節數。// 對于內核來說,寫操作是向高速緩沖區中寫入數據,什么時候數據最終寫入設備是由高速緩沖管理// 程序決定并處理的。另外,因為設備是以塊為單位進行讀寫的,因此對于寫開始位置不處于塊起始// 處時,需要先將開始字節所在的整個塊讀出,然后將需要寫的數據從寫開始處填寫滿該塊,再將完// 整的一塊數據寫盤(即交由高速緩沖程序去處理)。intblock_write (int dev, long *pos, char *buf, int count){// 由pos 地址換算成開始讀寫塊的塊序號block。并求出需讀第1 字節在該塊中的偏移位置offset。  int block = *pos >> BLOCK_SIZE_BITS;  int offset = *pos & (BLOCK_SIZE - 1);  int chars;  int written = 0;  struct buffer_head *bh;  register char *p;// 針對要寫入的字節數count,循環執行以下操作,直到全部寫入。  while (count > 0)    {// 計算在該塊中可寫入的字節數。如果需要寫入的字節數填不滿一塊,則只需寫count 字節。      chars = BLOCK_SIZE - offset;      if (chars > count)	chars = count;// 如果正好要寫1 塊數據,則直接申請1 塊高速緩沖塊,否則需要讀入將被修改的數據塊,并預讀// 下兩塊數據,然后將塊號遞增1。      if (chars == BLOCK_SIZE)	bh = getblk (dev, block);      else	bh = breada (dev, block, block + 1, block + 2, -1);      block++;// 如果緩沖塊操作失敗,則返回已寫字節數,如果沒有寫入任何字節,則返回出錯號(負數)。      if (!bh)	return written ? written : -EIO;// p 指向讀出數據塊中開始寫的位置。若最后寫入的數據不足一塊,則需從塊開始填寫(修改)所需// 的字節,因此這里需置offset 為零。      p = offset + bh->b_data;      offset = 0;// 將文件中偏移指針前移已寫字節數。累加已寫字節數chars。傳送計數值減去此次已傳送字節數。      *pos += chars;      written += chars;      count -= chars;// 從用戶緩沖區復制chars 字節到p 指向的高速緩沖區中開始寫入的位置。      while (chars-- > 0)	*(p++) = get_fs_byte (buf++);// 置該緩沖區塊已修改標志,并釋放該緩沖區(也即該緩沖區引用計數遞減1)。      bh->b_dirt = 1;      brelse (bh);    }  return written;		// 返回已寫入的字節數,正常退出。}//// 數據塊讀函數 - 從指定設備和位置讀入指定字節數的數據到高速緩沖中。intblock_read (int dev, unsigned long *pos, char *buf, int count){// 由pos 地址換算成開始讀寫塊的塊序號block。并求出需讀第1 字節在該塊中的偏移位置offset。  int block = *pos >> BLOCK_SIZE_BITS;  int offset = *pos & (BLOCK_SIZE - 1);  int chars;  int read = 0;  struct buffer_head *bh;  register char *p;// 針對要讀入的字節數count,循環執行以下操作,直到全部讀入。  while (count > 0)    {// 計算在該塊中需讀入的字節數。如果需要讀入的字節數不滿一塊,則只需讀count 字節。      chars = BLOCK_SIZE - offset;      if (chars > count)	chars = count;// 讀入需要的數據塊,并預讀下兩塊數據,如果讀操作出錯,則返回已讀字節數,如果沒有讀入任何// 字節,則返回出錯號。然后將塊號遞增1。      if (!(bh = breada (dev, block, block + 1, block + 2, -1)))	return read ? read : -EIO;      block++;// p 指向從設備讀出數據塊中需要讀取的開始位置。若最后需要讀取的數據不足一塊,則需從塊開始// 讀取所需的字節,因此這里需將offset 置零。      p = offset + bh->b_data;      offset = 0;// 將文件中偏移指針前移已讀出字節數chars。累加已讀字節數。傳送計數值減去此次已傳送字節數。      *pos += chars;      read += chars;      count -= chars;// 從高速緩沖區中p 指向的開始位置復制chars 字節數據到用戶緩沖區,并釋放該高速緩沖區。      while (chars-- > 0)	put_fs_byte (*(p++), buf++);      brelse (bh);    }  return read;			// 返回已讀取的字節數,正常退出。}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠v欧美v日韩v亚洲ⅴ| 欧美日韩国产高清一区二区三区| 久久久久久久性| 91麻豆免费视频| 韩国一区二区三区| 成人欧美一区二区三区小说| 日本一区二区三区视频视频| 国产精品一区二区久激情瑜伽| 亚洲五码中文字幕| 欧美日韩国产123区| 亚洲理论在线观看| 欧美电影免费观看高清完整版在 | 国产三级精品视频| 一本色道亚洲精品aⅴ| 在线观看一区日韩| 欧美另类变人与禽xxxxx| 欧美欧美欧美欧美首页| 日韩欧美国产一二三区| 日韩精品专区在线| 国产清纯白嫩初高生在线观看91| 久久久午夜精品| 国产精品超碰97尤物18| 亚洲免费在线看| 亚洲影视资源网| 日本在线不卡视频| 国产精品白丝av| 91网站在线播放| 91麻豆精品国产自产在线观看一区| 欧美另类z0zxhd电影| 精品日韩在线观看| 亚洲国产精品黑人久久久| 亚洲欧美一区二区不卡| 三级一区在线视频先锋| 国产在线视频一区二区| 91一区二区三区在线播放| 欧美色图12p| 亚洲少妇最新在线视频| 午夜精品久久久久久久蜜桃app | 韩国成人在线视频| 成人精品免费看| 欧美日韩成人综合| 久久毛片高清国产| 亚洲蜜臀av乱码久久精品蜜桃| 爽爽淫人综合网网站| 国产成人免费视| 在线精品国精品国产尤物884a| 日韩欧美一级特黄在线播放| 中文字幕一区二区三区不卡| 日韩二区在线观看| 丁香五精品蜜臀久久久久99网站| 精品视频色一区| 欧美—级在线免费片| 婷婷久久综合九色国产成人| 丁香婷婷综合激情五月色| 精品视频1区2区3区| 久久精品亚洲精品国产欧美| 亚洲h在线观看| 波多野结衣在线一区| 欧美一级高清片在线观看| 国产精品水嫩水嫩| 免费看日韩精品| 一本色道a无线码一区v| 久久久精品蜜桃| 调教+趴+乳夹+国产+精品| 成人精品视频一区| 日韩欧美高清dvd碟片| 亚洲精品免费在线观看| 国产精品66部| 欧美裸体一区二区三区| 亚洲欧美在线aaa| 精东粉嫩av免费一区二区三区| 欧美影院一区二区| 亚洲国产精品精华液ab| 久久99精品国产91久久来源| 欧美最猛性xxxxx直播| 中文字幕av资源一区| 久久精品国产久精国产| 欧美日韩夫妻久久| 亚洲欧洲制服丝袜| 成人动漫精品一区二区| 日韩久久免费av| 五月天视频一区| 欧美日韩中文一区| 亚洲制服丝袜在线| 99久久久久免费精品国产| 亚洲国产精品二十页| 国产麻豆午夜三级精品| 欧美白人最猛性xxxxx69交| 午夜影院在线观看欧美| 精品视频全国免费看| 一区二区视频免费在线观看| 99精品国产99久久久久久白柏| 国产婷婷一区二区| 国产精品 欧美精品| 久久综合九色欧美综合狠狠| 狠狠色丁香久久婷婷综| 欧美zozozo| 色哟哟欧美精品| 亚洲靠逼com| 色综合久久久久综合99| 亚洲欧美日韩中文播放| 色综合视频一区二区三区高清| 亚洲女性喷水在线观看一区| 97久久久精品综合88久久| 亚洲三级在线观看| 色综合中文字幕国产 | 亚洲精品在线观| 美腿丝袜亚洲色图| 日韩一区二区不卡| 国产一区在线精品| 日本一区二区三区电影| 成人国产精品免费| 亚洲美腿欧美偷拍| 欧美日韩一级视频| 蜜臀久久99精品久久久久宅男| 日韩亚洲欧美成人一区| 麻豆精品一二三| 国产日韩三级在线| 91日韩一区二区三区| 亚洲综合色成人| 欧美一区在线视频| 国产福利一区二区三区视频在线| 中文幕一区二区三区久久蜜桃| 盗摄精品av一区二区三区| 国产精品久久久久久久久果冻传媒| 99久精品国产| 天天综合天天综合色| 26uuu久久综合| 成人18视频在线播放| 一区二区三区中文字幕精品精品| 欧美久久婷婷综合色| 美女视频一区在线观看| 欧美激情在线一区二区| 色综合久久天天| 日韩成人伦理电影在线观看| 久久久久久久久蜜桃| 99麻豆久久久国产精品免费优播| 亚洲尤物在线视频观看| 欧美tk丨vk视频| 91在线视频18| 五月天激情综合| 日本一区二区三区视频视频| 91国产成人在线| 国产在线观看一区二区| 亚洲精品国产精华液| 精品欧美一区二区久久 | 日韩一区二区三区在线观看| 国产精品1024| 视频在线观看91| 亚洲国产精品黑人久久久| 欧美日本一区二区| jlzzjlzz国产精品久久| 日韩电影在线观看电影| 国产精品美女久久久久久久久久久| 欧美性大战久久| 国产**成人网毛片九色 | 国产精品资源在线看| 亚洲免费在线电影| wwwwww.欧美系列| 欧美体内she精高潮| 国产成人一区在线| 免费在线观看视频一区| 一区二区中文视频| 精品国产第一区二区三区观看体验| 91蝌蚪porny九色| 久久成人综合网| 亚洲乱码国产乱码精品精98午夜 | 一区二区三区小说| 久久久久久久久久美女| 欧美高清你懂得| 色素色在线综合| 国产精品一二三区在线| 日韩国产欧美在线观看| 亚洲欧洲av在线| 久久久亚洲高清| 91精品欧美久久久久久动漫| 91片在线免费观看| 国产福利一区二区三区视频在线| 日本 国产 欧美色综合| 亚洲色图另类专区| 日韩中文字幕1| 国产精品美女一区二区三区 | 欧美日韩一区 二区 三区 久久精品| 国产精品主播直播| 日韩电影在线观看网站| 亚洲成人www| 亚洲一区二区在线视频| 国产精品久久久久久久久免费相片| 日韩精品中文字幕在线一区| 9191久久久久久久久久久| 色欧美片视频在线观看| 成人a级免费电影| 懂色av一区二区夜夜嗨| 久久 天天综合| 蜜桃久久久久久| 日韩国产在线一| 亚洲va欧美va人人爽| 亚洲午夜私人影院| 亚洲国产婷婷综合在线精品| 亚洲精品videosex极品|