#
1.16 |
|
26-May-2020 |
uwe |
Use the typedef to declare tag in AUTOVAR. Do not allocate 9P tags in advance in AUTOVAR, do it right before we need them. Do no reuse tags. If we are going to use sequential tags, we might as well try to make them really sequential.
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
|
#
1.15 |
|
28-Oct-2019 |
ozaki-r |
mount_9p: enable to communicate with vio9p via its character device file
With this feature, we can mount an exported filesystem by a VM host via virtio-9p.
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609
|
#
1.14 |
|
07-Jun-2019 |
ozaki-r |
Handle Rerror and return errno correctly (only for 9P2000.u for now)
|
#
1.13 |
|
17-May-2019 |
ozaki-r |
mount_9p: add initial support for 9P2000.u
The implementation enables to work with a server talking 9P2000.u. However, it doesn't use the extended fields yet; it just ignores those of received messages and sets "please ignore" values to those of sending messages such as zero-length strings and maximum unsigned values.
The feature is enabled by the -u option.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
|
#
1.12 |
|
30-Nov-2007 |
pooka |
branches: 1.12.70; Rototill.
Ok, ok, a few more words about it: stop holding puffs_cc as a holy value and passing it around to almost every possible place (popquiz: which kernel variable does this remind you of?). Instead, pass the natural choice, puffs_usermount, and fetch puffs_cc via puffs_cc_getcc() only in routines which actually need it. This not only simplifies code, but (thanks to the introduction of puffs_cc_getcc()) enables constructs which weren't previously sanely possible, say layering as a curious example.
There's still a little to do on this front, but this was the major fs interface blast.
|
#
1.11 |
|
06-Sep-2007 |
pooka |
adapt to new cmpfb signature
|
Revision tags: matt-mips64-base
|
#
1.10 |
|
17-Jul-2007 |
pooka |
branches: 1.10.4; support standard user@host:path mount argument
|
#
1.9 |
|
07-Jul-2007 |
pooka |
adapt to puffs_framebuf changes
|
#
1.8 |
|
16-May-2007 |
pooka |
Enhance the GETRESPONSE, JUSTSEND and SENDCB macros to process the return value from the network layer.
|
#
1.7 |
|
15-May-2007 |
pooka |
adapt to "step 3" of puffs_framebuf changes
|
#
1.6 |
|
11-May-2007 |
pooka |
adapt to puffs_framebuf changes
|
#
1.5 |
|
06-May-2007 |
pooka |
If mode is set, the uppermost byte specifying the type must be correctly, otherwise the file server will attempt a conversion. Specifically, if the directory bit is not set when changing the permissions for a directory, a conversion from directory to regular file would be attempted and naturally it being unsupported the whole chmod would fail. So supply the file type as part of the file mode.
|
#
1.4 |
|
06-May-2007 |
pooka |
Close file handles in inactive instead of close - a memory mapping may still be active after a vnode is closed
|
#
1.3 |
|
05-May-2007 |
pooka |
Adapt to use puffs_framebuf. This gets rid of most of the duplicated code between mount_psshfs and mount_9p and clarifies the code structure.
|
#
1.2 |
|
22-Apr-2007 |
pooka |
Alter the strategy for reading/writing a bit. First of all, use PUFFS_KFLAG_WTCACHE. Second, create separate fids for reading and writing. If opening for read, open a read-only fid and for write a write-only fid; use these for reading and writing. When the open-count for a node drops to zero, clunk both. This avoids hitting the fid limit when accessing large directory hierarchies.
Two problems remain: * does not take credentials into account, although we can only mount the remote 9P file server with one set of credentials, so not a huge worry * doesn't work for the open/mmap/close/access_memory_window case, but that will require some further kernel changes
|
#
1.1 |
|
21-Apr-2007 |
pooka |
mount_9p: mount a file server using the Plan9 file sharing protocol
Works, but lots of little things to nibble on: * fix permissions to work better * limit the amount of open files required * do constant folding with psshfs code * support authentication etcetc.
|
#
1.15 |
|
28-Oct-2019 |
ozaki-r |
mount_9p: enable to communicate with vio9p via its character device file
With this feature, we can mount an exported filesystem by a VM host via virtio-9p.
|
Revision tags: netbsd-9-base phil-wifi-20190609
|
#
1.14 |
|
07-Jun-2019 |
ozaki-r |
Handle Rerror and return errno correctly (only for 9P2000.u for now)
|
#
1.13 |
|
17-May-2019 |
ozaki-r |
mount_9p: add initial support for 9P2000.u
The implementation enables to work with a server talking 9P2000.u. However, it doesn't use the extended fields yet; it just ignores those of received messages and sets "please ignore" values to those of sending messages such as zero-length strings and maximum unsigned values.
The feature is enabled by the -u option.
|
Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
|
#
1.12 |
|
30-Nov-2007 |
pooka |
branches: 1.12.70; Rototill.
Ok, ok, a few more words about it: stop holding puffs_cc as a holy value and passing it around to almost every possible place (popquiz: which kernel variable does this remind you of?). Instead, pass the natural choice, puffs_usermount, and fetch puffs_cc via puffs_cc_getcc() only in routines which actually need it. This not only simplifies code, but (thanks to the introduction of puffs_cc_getcc()) enables constructs which weren't previously sanely possible, say layering as a curious example.
There's still a little to do on this front, but this was the major fs interface blast.
|
#
1.11 |
|
06-Sep-2007 |
pooka |
adapt to new cmpfb signature
|
Revision tags: matt-mips64-base
|
#
1.10 |
|
17-Jul-2007 |
pooka |
branches: 1.10.4; support standard user@host:path mount argument
|
#
1.9 |
|
07-Jul-2007 |
pooka |
adapt to puffs_framebuf changes
|
#
1.8 |
|
16-May-2007 |
pooka |
Enhance the GETRESPONSE, JUSTSEND and SENDCB macros to process the return value from the network layer.
|
#
1.7 |
|
15-May-2007 |
pooka |
adapt to "step 3" of puffs_framebuf changes
|
#
1.6 |
|
11-May-2007 |
pooka |
adapt to puffs_framebuf changes
|
#
1.5 |
|
06-May-2007 |
pooka |
If mode is set, the uppermost byte specifying the type must be correctly, otherwise the file server will attempt a conversion. Specifically, if the directory bit is not set when changing the permissions for a directory, a conversion from directory to regular file would be attempted and naturally it being unsupported the whole chmod would fail. So supply the file type as part of the file mode.
|
#
1.4 |
|
06-May-2007 |
pooka |
Close file handles in inactive instead of close - a memory mapping may still be active after a vnode is closed
|
#
1.3 |
|
05-May-2007 |
pooka |
Adapt to use puffs_framebuf. This gets rid of most of the duplicated code between mount_psshfs and mount_9p and clarifies the code structure.
|
#
1.2 |
|
22-Apr-2007 |
pooka |
Alter the strategy for reading/writing a bit. First of all, use PUFFS_KFLAG_WTCACHE. Second, create separate fids for reading and writing. If opening for read, open a read-only fid and for write a write-only fid; use these for reading and writing. When the open-count for a node drops to zero, clunk both. This avoids hitting the fid limit when accessing large directory hierarchies.
Two problems remain: * does not take credentials into account, although we can only mount the remote 9P file server with one set of credentials, so not a huge worry * doesn't work for the open/mmap/close/access_memory_window case, but that will require some further kernel changes
|
#
1.1 |
|
21-Apr-2007 |
pooka |
mount_9p: mount a file server using the Plan9 file sharing protocol
Works, but lots of little things to nibble on: * fix permissions to work better * limit the amount of open files required * do constant folding with psshfs code * support authentication etcetc.
|
#
1.14 |
|
07-Jun-2019 |
ozaki-r |
Handle Rerror and return errno correctly (only for 9P2000.u for now)
|
#
1.13 |
|
17-May-2019 |
ozaki-r |
mount_9p: add initial support for 9P2000.u
The implementation enables to work with a server talking 9P2000.u. However, it doesn't use the extended fields yet; it just ignores those of received messages and sets "please ignore" values to those of sending messages such as zero-length strings and maximum unsigned values.
The feature is enabled by the -u option.
|
Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
|
#
1.12 |
|
30-Nov-2007 |
pooka |
Rototill.
Ok, ok, a few more words about it: stop holding puffs_cc as a holy value and passing it around to almost every possible place (popquiz: which kernel variable does this remind you of?). Instead, pass the natural choice, puffs_usermount, and fetch puffs_cc via puffs_cc_getcc() only in routines which actually need it. This not only simplifies code, but (thanks to the introduction of puffs_cc_getcc()) enables constructs which weren't previously sanely possible, say layering as a curious example.
There's still a little to do on this front, but this was the major fs interface blast.
|
#
1.11 |
|
06-Sep-2007 |
pooka |
adapt to new cmpfb signature
|
Revision tags: matt-mips64-base
|
#
1.10 |
|
17-Jul-2007 |
pooka |
branches: 1.10.4; support standard user@host:path mount argument
|
#
1.9 |
|
07-Jul-2007 |
pooka |
adapt to puffs_framebuf changes
|
#
1.8 |
|
16-May-2007 |
pooka |
Enhance the GETRESPONSE, JUSTSEND and SENDCB macros to process the return value from the network layer.
|
#
1.7 |
|
15-May-2007 |
pooka |
adapt to "step 3" of puffs_framebuf changes
|
#
1.6 |
|
11-May-2007 |
pooka |
adapt to puffs_framebuf changes
|
#
1.5 |
|
06-May-2007 |
pooka |
If mode is set, the uppermost byte specifying the type must be correctly, otherwise the file server will attempt a conversion. Specifically, if the directory bit is not set when changing the permissions for a directory, a conversion from directory to regular file would be attempted and naturally it being unsupported the whole chmod would fail. So supply the file type as part of the file mode.
|
#
1.4 |
|
06-May-2007 |
pooka |
Close file handles in inactive instead of close - a memory mapping may still be active after a vnode is closed
|
#
1.3 |
|
05-May-2007 |
pooka |
Adapt to use puffs_framebuf. This gets rid of most of the duplicated code between mount_psshfs and mount_9p and clarifies the code structure.
|
#
1.2 |
|
22-Apr-2007 |
pooka |
Alter the strategy for reading/writing a bit. First of all, use PUFFS_KFLAG_WTCACHE. Second, create separate fids for reading and writing. If opening for read, open a read-only fid and for write a write-only fid; use these for reading and writing. When the open-count for a node drops to zero, clunk both. This avoids hitting the fid limit when accessing large directory hierarchies.
Two problems remain: * does not take credentials into account, although we can only mount the remote 9P file server with one set of credentials, so not a huge worry * doesn't work for the open/mmap/close/access_memory_window case, but that will require some further kernel changes
|
#
1.1 |
|
21-Apr-2007 |
pooka |
mount_9p: mount a file server using the Plan9 file sharing protocol
Works, but lots of little things to nibble on: * fix permissions to work better * limit the amount of open files required * do constant folding with psshfs code * support authentication etcetc.
|
#
1.13 |
|
17-May-2019 |
ozaki-r |
mount_9p: add initial support for 9P2000.u
The implementation enables to work with a server talking 9P2000.u. However, it doesn't use the extended fields yet; it just ignores those of received messages and sets "please ignore" values to those of sending messages such as zero-length strings and maximum unsigned values.
The feature is enabled by the -u option.
|
Revision tags: netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
|
#
1.12 |
|
30-Nov-2007 |
pooka |
Rototill.
Ok, ok, a few more words about it: stop holding puffs_cc as a holy value and passing it around to almost every possible place (popquiz: which kernel variable does this remind you of?). Instead, pass the natural choice, puffs_usermount, and fetch puffs_cc via puffs_cc_getcc() only in routines which actually need it. This not only simplifies code, but (thanks to the introduction of puffs_cc_getcc()) enables constructs which weren't previously sanely possible, say layering as a curious example.
There's still a little to do on this front, but this was the major fs interface blast.
|
#
1.11 |
|
06-Sep-2007 |
pooka |
adapt to new cmpfb signature
|
Revision tags: matt-mips64-base
|
#
1.10 |
|
17-Jul-2007 |
pooka |
branches: 1.10.4; support standard user@host:path mount argument
|
#
1.9 |
|
07-Jul-2007 |
pooka |
adapt to puffs_framebuf changes
|
#
1.8 |
|
16-May-2007 |
pooka |
Enhance the GETRESPONSE, JUSTSEND and SENDCB macros to process the return value from the network layer.
|
#
1.7 |
|
15-May-2007 |
pooka |
adapt to "step 3" of puffs_framebuf changes
|
#
1.6 |
|
11-May-2007 |
pooka |
adapt to puffs_framebuf changes
|
#
1.5 |
|
06-May-2007 |
pooka |
If mode is set, the uppermost byte specifying the type must be correctly, otherwise the file server will attempt a conversion. Specifically, if the directory bit is not set when changing the permissions for a directory, a conversion from directory to regular file would be attempted and naturally it being unsupported the whole chmod would fail. So supply the file type as part of the file mode.
|
#
1.4 |
|
06-May-2007 |
pooka |
Close file handles in inactive instead of close - a memory mapping may still be active after a vnode is closed
|
#
1.3 |
|
05-May-2007 |
pooka |
Adapt to use puffs_framebuf. This gets rid of most of the duplicated code between mount_psshfs and mount_9p and clarifies the code structure.
|
#
1.2 |
|
22-Apr-2007 |
pooka |
Alter the strategy for reading/writing a bit. First of all, use PUFFS_KFLAG_WTCACHE. Second, create separate fids for reading and writing. If opening for read, open a read-only fid and for write a write-only fid; use these for reading and writing. When the open-count for a node drops to zero, clunk both. This avoids hitting the fid limit when accessing large directory hierarchies.
Two problems remain: * does not take credentials into account, although we can only mount the remote 9P file server with one set of credentials, so not a huge worry * doesn't work for the open/mmap/close/access_memory_window case, but that will require some further kernel changes
|
#
1.1 |
|
21-Apr-2007 |
pooka |
mount_9p: mount a file server using the Plan9 file sharing protocol
Works, but lots of little things to nibble on: * fix permissions to work better * limit the amount of open files required * do constant folding with psshfs code * support authentication etcetc.
|