tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Removal of miscfs/syncfs



On 01 May 2015, at 20:02, David Holland <dholland-tech%netbsd.org@localhost> 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 - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig (Germany)



Home | Main Index | Thread Index | Old Index