vfsx20.patch available - vfs work (expert developers only)

看板DFBSD_kernel作者時間21年前 (2004/11/10 05:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
Another regular vfs patch. Again, expert developers only. fetch http://leaf.dragonflybsd.org/~dillon/vfsx20.patch This one adds fixes for scattered bugs and a feature or two. A number of these issues have already been committed and the stable tag slipped so they don't physically appear in the patch set. Thanks to everyone who sent in bug reports and especially David Rhodus for providing a number of great kernel crash dumps. * A bug in the nfs server's directory scan code could cause the nfs server to panic. * Added an assertion to try to catch a vm_page panic that DR is getting. It is possibly related to fictitious page mappings (device mmap). * A fix to softupdates that can cause FS corruption if the devvp for the filesystem is not VMIO backed (-> reported to Kirk). Note: this bug probably did not effect FreeBSD. [ committed and stable slipped ]. * A fix to UFS that was preventing the filesystem devvp from being marked as being VMIO backed. I apparently broke this about a month ago and never realized it. Apart from the softupdates bug it tickled not having the devvp VMIO backed only reduced filesystem performance slightly. [ committed and stable slipped ]. * Use a non-blocking version of BUF_REFCNTNB. The ATA interrupt path was blocking in biodone() in a number of places which had BUF_REFCNT() assertions. (I don't think this is related to the ATA timeout problem Jonathon McKitrick is reporting but there is a small chance that it is). [ committed and stable slipped ]. * Someone pointed out a thread on the FBsd lists with regards to shortcutting device operations for /dev/null and /dev/zero to not have to run through the VFS (and in particular lock the vnode). This turned out to be trivial to implement, it simply required a special struct fileops with customized read and write vectors. dd performance e.g. writing to /dev/null with small block sizes is noticably improved though I doubt there will be much real-world improvement. Still, it allowed me to cleanup some other issues in the file pointer code so... Still TODO before I commit this mess to HEAD: unionfs, nullfs. -Matt
文章代碼(AID): #11aJ0O00 (DFBSD_kernel)