[Ocfs2-tools-devel] [PATCH 0/3] tunefs.ocfs2: I/O cache updates
Joel Becker
joel.becker at oracle.com
Fri Jun 12 20:18:41 PDT 2009
ocfs2ne has a couple problems with the I/O cache.
1. We use the cache in unlocked (SKIPCLUSTER) and online
(PERFORM_ONLINE) operations. this isn't safe, obviously, because
other things may be going on, especially in the PERFORM_ONLINE case.
2. We get a tiny cache. Some ops walk a lot of the filesystem.
3. We nest ocfs2_filesys structures to give operations their own clean
state. However, each nested ocfs2_filesys has its own I/O cache.
filesyses higher in the nesting may have stale blocks in their cache
when their child filesyses exit.
This series of patches attacks all three problems. We just don't use
the cache when performing stackless or online operations. We add a new
flag to tunefs_open(), TUNEFS_FLAG_LARGECACHE. The large operations
(metaecc, uninline, etc) will use this flag to get a big cache.
Finally, we open one cache with the master filesys and share it with the
nested ones.
These patches are atop the io branch, as they need the nocache and mlock
APIs.
Joel
More information about the Ocfs2-tools-devel
mailing list