kAFS To-Do List
Component | What | Where | Ease | State |
---|---|---|---|---|
AF_RXRPC protocol | Service upgrade | Kernel C | Medium | Done |
Kerberos 5 support | Kernel C | Unknown | Done | |
RxGK/GSS security class | Kernel C | Unknown | no | |
YFS-RxGK security class | Kernel C | Unknown | In progress | |
Pin UDP routes by rxrpc_connection | Kernel C | Medium | no | |
Use MSG_CONFIRM on the UDP socket | Kernel C | Easy | no | |
Support per-call sendfile(), splice-in and splice-out, using setsockopt() to select the call to use | Kernel C | Easy | Written | |
Allow sockets to be bonded together to make multiple queues | Kernel C | Easy | no | |
kAFS filesystem | Provide pioctl replacement,
using getxattr , sysfs, procfs, keyctl
and other interfaces as appropriate. This is needed for path-based services
|
Kernel C | Easy to Hard | Partial |
Dynamic root support (mount -o dyn) | Kernel C | Medium | v4.16 | |
IPv6: Upcall for IPv6 addresses as well as IPv4 | Kernel C | Easy | v4.18 | |
IPv6: Support for VL server comms | Kernel C | Hard | v4.15 | |
IPv6: Support for FS server comms with YFS | Kernel C | Hard | v4.15 | |
Multipage read support | Kernel C | Medium | Done | |
Multipage write support | Kernel C | Medium | v4.15 | |
Handling volumes being moved, busy or offline | Kernel C | Medium | v4.15 | |
Re-evaluate server/volume state after having had difficulty reaching it. | Kernel C | Medium | v4.18 | |
Magic path substitution handling (@sys and @cell) | Kernel C | Easy | v4.17 | |
Use of speculative batched file status fetching from dir lookup | Kernel C | Medium | v4.17 | |
Local directory blob editing to avoid reload after create/mkdir/unlink/etc. | Kernel C | Hard | v4.17 | |
Handle permissions on a per file basis instead of per directory | Kernel C | Easy | v4.15 | |
Modify unix mode bit handling | Kernel C | Easy | v4.11 | |
Network namespacing support | Kernel C | Medium | v4.18 | |
Network namespace propagation over automounts | Kernel C | Medium | v5.1 | |
Silly rename on unlink or rename | Kernel C | Medium | v5.2 | |
Byte-range file locking emulation | Kernel C | Medium | v5.2 | |
Make calls asynchronous inside the kernel, including address and server rotation | Kernel C | Medium | v5.8 | |
Make xfstests able to test kAFS | xfstests | Medium | Partial | |
Fix breakage induced by xfstests | Kernel C | Medium | v5.8 | |
AIO read/write support | Kernel C | Medium | no | |
O_DIRECT read/write support | Kernel C | Medium | Partial | |
Container keyring | Kernel C | Medium | no | |
inotify (and similar) support | Kernel C | Medium-Hard | no | |
Fix population of the vfs group id | Kernel C | Easy | no | |
SELinux/Smack label storage - requires xattr support on the server | Kernel C | Unknown | no | |
YFS FS client and CM service support | Kernel C | Unknown | v4.20 | |
File system exports for afs2nfs translation | Kernel C | Medium | no | |
Getting kafs enabled in the Fedora kernel (Fedora bz 1616016) . | Spec | Easy | F29 | |
Local caching | Fscache: Rewrite of object model | Kernel C | Medium | Written |
Fscache: Rewrite of I/O API | Kernel C | Medium | Written | |
Cachefiles: Use bitmap to track contents rather than bmap() | Kernel C | Easy | Written | |
Cachefiles: Use kiocb asynchronous direct-I/O interface rather than event interception | Kernel C | Easy | Written | |
Cachefiles: Use O_TMPFILE to speed up invalidation | Kernel C | Medium | Written | |
Write local data changes to cache | Kernel C | Medium | Written | |
Write local directory changes to cache | Kernel C | Medium | Written | |
Disconnected mode: Operation | Kernel C | Medium | no | |
Disconnected mode: Modification journal and change submission on reconnection | Kernel C | Medium | no | |
Disconnected mode: Conflict resolution | Kernel C | Medium | no | |
filesystem | Getting the /afs mountpoint in the FHS (Linux Foundation bug 1438) | Spec | - | Review |
Getting the /afs mountpoint accepted by Fedora (Fedora packaging bug 888) | Spec | - | Accepted | |
Getting the /afs mountpoint packaged in the base filesystem rpm as a filesystem-afs subpackage (Fedora bz 1720232) . | Spec | Easy | F31 | |
kafs-client | systemd files | Config | Easy | v0.1 |
Start/stop managing and mounter | systemd | Easy | v0.1 | |
Configuration loading from systemd | C/Script | Easy | v0.1 | |
Support for Loading AuriStorFS profile cell information | Unknown | Unknown | v0.1 | |
SRV DNS record support for DNS upcalls (RFC 5864) | User C | Easy | v0.1 | |
IPv6: DNS lookups | User C | Easy | v0.1 | |
Read CellServDB on demand | User C | Easy | v0.1 | |
aklog program; may need to interact with kafs-utils. A cut down program is here. | C | Easy | Partial | |
PAM support (libpam_kafs_session) | C | Easy | no | |
Getting the kafs-client package into Fedora (Fedora bz 1724281) . | Spec | Easy | F31 | |
keyutils | SRV DNS record support for DNS upcalls (RFC 5864) | User C | Easy | kafs-client |
IPv6: DNS lookups | User C | Easy | kafs-client | |
Allow override by kafs-client | User C | Easy | v1.6 | |
kafs-utils | Provide AFS-compatible command line framework (bos, vos, pts, fs, ...) | User C | Easy | Written |
Provide a mid-level library, to hide differences between RPC call variants (eg. ListVolumes, XListVolumes), RPC service variants (AFS vs YFS) and to handle server and address rotation | User C | Medium | In progress | |
Provide compatible AFS command line support (bos, vos, pts, fs, ...) commands | User C | Easy to Hard | In progress | |
Make it possible to override the AF_RXRPC transport with a shared library plug-in | User C | Slightly tricky | Written | |
Provide other transport plug-ins for OpenAFS librx, etc..
|
User C | Medium | no | |
Provide AFS filesystem query interface | User C | Medium | no | |
Provide kAFS pluggable query module. Requires kAFS kernel module support. | User C | Medium | no | |
Provide Python language bindings and scripting interface | Python, swig | Medium | no | |
Python server support.
|
Python lib & C backend | Medium | no |