亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1725 | 回復(fù): 3
打印 上一主題 下一主題

【求助】關(guān)于內(nèi)核基于分頁機(jī)制讀取文件時讀取最后一頁的問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-06-07 08:37 |只看該作者 |倒序瀏覽
1
假設(shè)一個文件是5000字節(jié),前4096字節(jié)用一個頁讀取后,剩下的4字節(jié)用第二頁讀取,但剩下的第二頁中那4092字節(jié)填充什么呢?

2
另外,內(nèi)核通過哪個成員變量來確定最后一頁里有效數(shù)據(jù)(那4kb)的偏移量?
是用宏bio_offset么,但它里面的參數(shù)是bio,不是page啊

3
在讀取文件時,每個page的數(shù)據(jù)來自哪個路徑下的哪個文件,是如果判斷的呢?
文件名是否是 結(jié)構(gòu)體file指向的 file->f_dentry->d_name.name?

4
在mpage_end_io_read函數(shù)中,struct bio_vec *bvec = bio->bi_io_vec + bio->bi_vcnt - 1;
bvec是先指向最后一個bio_vec,然后再--bvec,不明白這樣做是為什么?


多謝指教~~

[ 本帖最后由 kenokanza 于 2009-6-7 23:54 編輯 ]

論壇徽章:
2
申猴
日期:2013-12-26 22:11:31天秤座
日期:2014-12-23 10:23:19
2 [報告]
發(fā)表于 2009-06-07 08:59 |只看該作者
1,其他4092用null來填充
2,偏移可以用一段程序來得出
ext2,ext3,minix文件系統(tǒng)中都有

  1. static unsigned minix_last_byte(struct inode *inode, unsigned long page_nr){
  2.          unsigned last_byte = inode->i_size;

  3.         last_byte -= page_nr << PAGE_CACHE_SHIFT;
  4.          if (last_byte > PAGE_CACHE_SIZE)
  5.                  last_byte = PAGE_CACHE_SIZE;
  6.          return last_byte;
  7. }
復(fù)制代碼

論壇徽章:
0
3 [報告]
發(fā)表于 2009-06-07 22:50 |只看該作者
“假設(shè)一個文件是5000kb,前4096kb用一個頁讀取后,剩下的4kb用第二頁讀取,但剩下的第二頁中那4092kb填充什么呢?”
這一句里的所有K都應(yīng)該去掉才對。

論壇徽章:
0
4 [報告]
發(fā)表于 2009-06-07 23:45 |只看該作者

回復(fù) #3 accessory 的帖子

是是,馬虎了,不好意思
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP