On 01 May 2015, at 20:02, David Holland <dholland-t...@netbsd.org> wrote:
> On Fri, May 01, 2015 at 10:17:05AM +0200, J. Hannken-Illjes wrote: >> Our miscfs/syncfs originating from the softdep import is a pseudo >> file system with one VOP. Its vnodes get used as a kind of marker >> on the syncer worklist so the syncer may run lazy VFS_SYNC for >> all mounted file systems. >> >> For this to work, it creates a vnode attached to the mount point >> with a special (syncfs) operations vector. This concept breaks >> some rules making it nearly is impossible to implement it with >> the new vcache operations. >> >> I propose to completely remove miscfs/syncfs and >> >> - move the syncer sched_sync into kern/vfs_subr.c >> - change the syncer to process the mountlist and VFS_SYNC as appropriate. >> - use an API for mount points similiar to the API for vnodes. >> >> Diff at http://www.netbsd.org/~hannken/rm-miscfs-syncfs-1.diff >> >> Comments or objections anyone? > > I think this is a good plan (having a "file system" to be the syncer > is horribly weird) but I'm not entirely convinced that having marker > mounts instead of marker vnodes is really the answer. But maybe it's > an ok first step. This time goal is to remove the "file system", not more. > (also I'd prefer to have a syncer that went by blocks/buffers than by > files, but that's a much bigger change...) > > I don't have time to read the diff properly now (maybe tomorrow? hope > springs eternal) but I think it would be a good plan to put the syncer > in its own file. > > (and maybe we should put it in sys/vfs? I announced plans to start > moving vfs-level code in there some time ago, and this seems like an > opportunity) Such move should probably wait until we are able to move files without loosing history. -- J. Hannken-Illjes - hann...@eis.cs.tu-bs.de - TU Braunschweig (Germany)