URN Logo
UNIX Resources » Linux » China Linux Forum » Linux内核技术 » 第293页 » 关于__invalidate_buffers
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.com
  LinuxForum General Chat
  Linux Advocacy
  LinuxForum Polls
  Introductions
  Linux Kernel Support
  Patch Management
  Development Release
  Linux Programming
  Linux Security
  Linux Software
  Linux Hardware Problems
    Linux Video Problems
    Linux Sound Problems
  Linux Networking Support
  Linux Printing Support
  Linux Human Interface Devices Support
  Linux Data Storage Support
  Linux Applications Support
  Linux Installation Support
  Linux Laptops Support
  Linux Motherboard, Chipsets, CPU, Memory
  Miscellaneous
  Debian Linux Support
  Ubuntu Linux Support
  LiveCD Discussions
  Gentoo Linux Support
  Mandrake Linux Support
  Redhat / Fedora Linux Support
  Slackware Linux Support
  SuSE Linux Support
  CentOS Linux Support
  Linux Web Servers
  Linux DNS Servers
  Linux Database Servers
  Linux Email Servers
  Linux FTP Servers
  Linux Squid Proxy Server
  Linux Samba Help
  Linux cPanel Help
  Linux Ensim Help
  Linux Plesk Help
  Linux Webmin / Usermin Help
  Qmail Toaster Help
  Linux Games
  Windows Game Emulation
  Linux Discussions
  General Linux Discussions
  Red Hat Linux Discussions
  More Red Hat Linux Discussions
  Mandrake Linux Discussions
  Slackware Linux Discussions
  SuSE Linux Discussions
  Debian Discussions
  Samba Help
  Linux Security
  Linux Networking
  Gentoo Help
  Operating System Rant Forum
  Hardware Rants
   
关于__invalidate_buffers
关于__invalidate_buffers - lucian_yao [2001-05-29 21:43 | 621 byte(s)]
 
Re: 关于__invalidate_buffers - jkl [2001-05-30 12:29 | 551 byte(s)]
 
Re: 关于__invalidate_buffers - lucian_yao [2001-05-30 13:13 | 229 byte(s)]
 
Re: 关于__invalidate_buffers - jkl [2001-05-30 21:15 | 143 byte(s)]
 
Re: 关于__invalidate_buffers - lucian_yao [2001-05-31 09:08 | 162 byte(s)]
 
Subject: 关于__invalidate_buffers
Author: lucian_yao    Posted: 2001-05-29 21:43    Length: 621 byte(s)
[Original] [Print] [Top]
buffer.c中该函数
void __invalidate_buffers(kdev_t dev, int destroy_dirty_buffers)
不知道干什么用。
尤其是这一段看不明白:

if (!atomic_read(&bh->b_count) &&
(destroy_dirty_buffers || !buffer_dirty(bh))) {
remove_inode_queue(bh);
__remove_from_queues(bh);
put_last_free(bh);
}




我们的
href=http://www2.linuxforum.net/ker_plan/index/main.htm>内核文档与源码学习
[Original] [Print] [Top]
Subject: Re: 关于__invalidate_buffers
Author: jkl    Posted: 2001-05-30 12:29    Length: 551 byte(s)
[Original] [Print] [Top]
__invalidate_buffers()使块设备dev在块缓冲里的自由缓冲块失效,destroy_dirty_buffers用来控制是否无条件破坏脏块。

if (!atomic_read(&bh->b_count) && 如果缓冲块的用户数为零 并且
(destroy_dirty_buffers || !buffer_dirty(bh))) { "允许破坏脏块"或者"块并不脏"
remove_inode_queue(bh); 将缓冲块从该块设备文件的块表中删除
__remove_from_queues(bh); 将缓冲块从块缓冲索引表和LRU块表中删除
put_last_free(bh); 将缓冲块放入自由块表
}


[Original] [Print] [Top]
Subject: Re: 关于__invalidate_buffers
Author: lucian_yao    Posted: 2001-05-30 13:13    Length: 229 byte(s)
[Original] [Print] [Top]
这也就意味着缓冲与设备可能不一致?
这个函数在什么时候才会调用呢?

我们的
内核文档与源码学习
[Original] [Print] [Top]
Subject: Re: 关于__invalidate_buffers
Author: jkl    Posted: 2001-05-30 21:15    Length: 143 byte(s)
[Original] [Print] [Top]
__invalidate_buffers(dev,1)就是destroy_buffers(dev),用于对可移动盘的处理,当有换盘操作时,只能无条件释放缓冲块。


[Original] [Print] [Top]
Subject: Re: 关于__invalidate_buffers
Author: lucian_yao    Posted: 2001-05-31 09:08    Length: 162 byte(s)
[Original] [Print] [Top]
thanks.

我们的
内核文档与源码学习
[Original] [Print] [Top]
« Previous thread
怎样将网卡驱动加载道内核上?
Linux内核技术
293
Next thread »
请教关于accept函数
     

Copyright © 2018 UNIX Resources Network, All Rights Reserved.    About URN | Privacy & Legal | Help | Contact us