git: kernel - SWAP CACHE part 20/many - add 'cache' and 'noscach

看板DFBSD_commit作者時間16年前 (2010/02/17 16:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit e9b560582904689977f992db6d5a91304b89ec4a Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Tue Feb 16 23:52:14 2010 -0800 kernel - SWAP CACHE part 20/many - add 'cache' and 'noscache' chflags. * Allow directory hierarchies to be selected for data caching when using vm.swapcache.data_enable. * Add the vm.swapcache.use_chflags sysctl which defaults to ON and enables use of the new chflags flags to determine what directory trees the swapcache will cache data from. * Add chflags cache and noscache. The flags are tracked recursively by the namecache and do *NOT* have to be set recursively in the directory tree. Setting a flag in a top-level directory is sufficient to cover the entire subtree. chflags cache - Any regular file in the subtree will be cached by swapcache. chflags noscache - Disables any swapcacheing of data in the subtree, overrides any use of chflags cache in the subtree. NOTE: Only applies to file data. The caching of file meta-data by swapcache is controlled globally by vm.swapcache.meta_enable and ignores chflags flags.. * Adjust the manual pages for swapcache and chflags. * NOTE! The default has been changed to require the use of chflags, data caching will not occur unless you either turn off the vm.swapcache.use_chflags sysctl (which enables data caching globally) or do something like 'chflags cache /'. Of course vm.swapcache.read_enable must also be turned on for swapcache to cache file data. * NOTE! World must be rebuilt for libc, chflags, and ls to understand the new flags. Summary of changes: lib/libc/gen/strtofflags.c | 7 +++++- share/man/man8/swapcache.8 | 46 ++++++++++++++++++++++++++++++++++++++++++- sys/kern/vfs_nlookup.c | 42 ++++++++++++++++++++++++++++++++------- sys/kern/vfs_vnops.c | 16 +++++++++++++++ sys/sys/namecache.h | 8 +++--- sys/sys/nlookup.h | 1 - sys/sys/stat.h | 2 + sys/sys/vnode.h | 3 +- sys/vm/vm_swapcache.c | 23 +++++++++++++++++++-- test/test/baaz | 2 + usr.bin/chflags/chflags.1 | 39 ++++++++++++++++++++++++++++++++++++- 11 files changed, 167 insertions(+), 22 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e9b560582904689977f992db6d5a91304b89ec4a -- DragonFly BSD source repository
文章代碼(AID): #1BUw93J- (DFBSD_commit)