Repository navigation
2.7.0
This release introduces a couple of exciting features.
ioctl
In the 2.0.0 release notes, I hinted at the possibility of "custom" ioctl commands:
As of this release, there is not mechanism for file systems to register ioctl command handlers. This is planned for a future minor release.
This release overhauls ioctl, finally making that possible:
- Added the
ioctlandioctlSyncmethods toFileSystem- These can be overriden to add new commands
- You should fall back to
superto not lose the built-in commands
- Added the
Ioctl,IoctlOps, andIoctlContexttypes - Added the following internals:
ioctl_default_ops,ioctl_default_ops_async,ioctl_default_ops_sync,IoctlDefaultAsyncOps,IoctlDefaultSyncOps - Fixed
ioctlnot respecting vfs caching (vcache/vnode)
Per-context mount tables (#218)
- Added
FSContext.mounts - Added
ContextInit.mounts mount,umount, andresolveMountnow use the context mount table- The "global"
mountsmap has been deprecated. It's functionality has been moved todefaultContext.mounts - Slightly unrelated, the default context id is now 1
Other changes
- Added
rdevtoInodeLike,Inode, and_inode_fields - Fixed some mode checks not using
isDirectory- Comparing directly with
S_IFMTwas problematic
- Comparing directly with
- Fixed
toFDnot incrementing fd - Fixed
InMemoryStore.namebeing a string literal type - Fixed
vfs.sync.opentaking the context asthiswhen it should be a regular parameter