| History log of /src/usr.sbin/puffs/mount_9p |
| Revision | Date | Author | Comments |
| 1.6 | 30-Aug-2020 |
christos | include bsd.init.mk to avoid: make: Bad conditional expression ` != "no"' in != "no"? -DINET6 :
|
| 1.5 | 19-Jun-2020 |
uwe | Use ?:: modifier instead of .if to check for ipv6. This way we don't have to include bsd.init.mk early.
|
| 1.4 | 13-Jun-2020 |
uwe | Support IPv6.
Use getaddrinfo(3). Add -4 and -6 command line options. Obey USE_INET6.
|
| 1.3 | 22-Apr-2009 |
lukem | Enable WARNS=4 by default, except for: cpuctl dumplfs hprop ipf iprop-log kadmin kcm kdc kdigest kimpersonate kstash ktutil makefs ndbootd ntp pppd quot racoon racoonctl rtadvd sntp sup tcpdchk tcpdmatch tcpdump traceroute traceroute6 user veriexecgen wsmoused zic (Mostly third-party applications)
|
| 1.2 | 18-Jul-2007 |
pooka | branches: 1.2.16; 1.2.20; get rid of DBG=
|
| 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.2.20.1 | 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
| 1.2.16.2 | 18-Jul-2007 |
pooka | get rid of DBG=
|
| 1.2.16.1 | 18-Jul-2007 |
pooka | file Makefile was added on branch matt-mips64 on 2007-07-18 22:39:00 +0000
|
| 1.11 | 28-May-2020 |
uwe | Do not send dummy Tauth, it's completely unnecessary.
The best way to not use authentication is to not use authentication. Cf. http://man.cat-v.org/plan_9/5/attach
|
| 1.10 | 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.
|
| 1.9 | 22-Jun-2011 |
mrg | branches: 1.9.42; remove some always true if () checks GCC 4.5.3 picks up.
|
| 1.8 | 24-Aug-2008 |
pooka | fix tyop in error message, no functional change
|
| 1.7 | 30-Nov-2007 |
pooka | branches: 1.7.8; 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.6 | 27-Nov-2007 |
pooka | Remove "puffs_cid" from the puffs interface following l-removal from the kernel vfs interfaces. puffs_cc_getcaller(pcc) can be used now should the same information be desired.
|
| 1.5 | 17-Jul-2007 |
pooka | branches: 1.5.4; support standard user@host:path mount argument
|
| 1.4 | 01-Jul-2007 |
pooka | adapt: pid -> const struct puffs_cid *
|
| 1.3 | 11-May-2007 |
pooka | Error with rtagid instead of tagid. caught by Dan's compiler flags.
|
| 1.2 | 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.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.5.4.1 | 09-Jan-2008 |
matt | sync with HEAD
|
| 1.7.8.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
| 1.9.42.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.17 | 11-Feb-2022 |
uwe | mount_9p(8): Use full month name in previos (oops).
|
| 1.16 | 10-Feb-2022 |
uwe | mount_9p(8): document the new -C option.
|
| 1.15 | 14-Jun-2020 |
uwe | Support optional square brackets around the host name.
The brackets are required when using numeric IPv6 addresses as they contain colons as part of their syntax. We do not enforce that the thing in the brackets is a numeric IPv6 address - this matches scp syntax and behavior.
|
| 1.14 | 13-Jun-2020 |
uwe | Support IPv6.
Use getaddrinfo(3). Add -4 and -6 command line options. Obey USE_INET6.
|
| 1.13 | 30-May-2020 |
uwe | Provide list of options for ease of reference.
|
| 1.12 | 28-Oct-2019 |
wiz | Sort SEE ALSO. "file system" police.
|
| 1.11 | 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.
|
| 1.10 | 07-Jun-2019 |
ozaki-r | Handle Rerror and return errno correctly (only for 9P2000.u for now)
|
| 1.9 | 17-May-2019 |
wiz | Merge single-letter options in SYNOPSIS. Add an article.
|
| 1.8 | 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.
|
| 1.7 | 17-May-2019 |
wiz | Add missing .Re.
|
| 1.6 | 17-May-2019 |
ozaki-r | Refer the current official page
|
| 1.5 | 17-May-2019 |
ozaki-r | Document the -s option
|
| 1.4 | 02-Dec-2007 |
wiz | branches: 1.4.70; Nits. Sort options.
|
| 1.3 | 17-Jul-2007 |
pooka | branches: 1.3.4; support standard user@host:path mount argument
|
| 1.2 | 08-Jul-2007 |
pooka | Accept user as a flag. This way the usage is fstab-compliant: mount_9p argument mountpoint
|
| 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.3.4.1 | 09-Jan-2008 |
matt | sync with HEAD
|
| 1.4.70.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.4.70.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.9 | 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.
|
| 1.8 | 04-Nov-2012 |
christos | branches: 1.8.30; add missing header
|
| 1.7 | 06-Sep-2007 |
pooka | branches: 1.7.28; 1.7.34; adapt to new cmpfb signature
|
| 1.6 | 20-May-2007 |
pooka | branches: 1.6.4; Change the signature of puffs_respcmp to return -1,0,1 for smaller, equal, larger, respectively instead of 0/1 for non/equal. This will allow sorting the buffers for faster matching in libpuffs. While here, change the name from respcmp to framecmp, as that better reflects the purpose.
NOTE! there is no obvious way to make compilation fail for file systems which may already be using this feature (although I don't think there are any outside our tree, as the feature is two weeks old). Nevertheless, non-updated file systems will fail very quickly.
|
| 1.5 | 15-May-2007 |
pooka | don't leak memory if getting data from the buffer fails
CID 4485
|
| 1.4 | 15-May-2007 |
pooka | adapt to "step 3" of puffs_framebuf changes
|
| 1.3 | 06-May-2007 |
pooka | use puffs_framebuf_remaining()
|
| 1.2 | 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.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.6.4.1 | 06-Nov-2007 |
matt | sync with HEAD
|
| 1.7.34.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
| 1.7.28.1 | 16-Jan-2013 |
yamt | sync with (a bit old) head
|
| 1.8.30.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.14 | 03-Sep-2021 |
andvar | fix typos in comments, mainly s/extention/extension/ and s/sufficent/sufficient/
|
| 1.13 | 26-May-2020 |
uwe | Do not allocate 9P tags in advance, do it right before we need them. If we are going to use sequential tags, we might as well try to make them really sequential.
|
| 1.12 | 26-May-2020 |
uwe | proto_getstat - g/c debug printfs.
|
| 1.11 | 07-Jun-2019 |
ozaki-r | Handle Rerror and return errno correctly (only for 9P2000.u for now)
|
| 1.10 | 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.
|
| 1.9 | 30-Nov-2007 |
pooka | branches: 1.9.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.8 | 07-Jul-2007 |
pooka | branches: 1.8.4; adapt to puffs_framebuf changes
|
| 1.7 | 16-May-2007 |
pooka | Enhance the GETRESPONSE, JUSTSEND and SENDCB macros to process the return value from the network layer.
|
| 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 | use puffs_framebuf_remaining()
|
| 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 | 04-May-2007 |
pooka | free uid and gid strings after use
CID 4474, 4475
|
| 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.8.4.1 | 09-Jan-2008 |
matt | sync with HEAD
|
| 1.9.70.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.2 | 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.
|
| 1.1 | 21-Apr-2007 |
pooka | branches: 1.1.76; 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.1.76.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.35 | 10-Mar-2025 |
riastradh | mount_9p(8): Implement pathconf stub.
Doesn't actually do anything useful -- it just returns EINVAL as pathconf is supposed to for unknown pathconf key names; by default, it will return ENOTSUPP, which leads applications like ls(1) to print:
ls: /mnt/.git: Operation not supported
This is a little silly; perhaps puffs should use EINVAL itself instead of ENOTSUPP. But this change is less risky for now.
PR bin/58768: mount_9p: missing pathconf(2) support
|
| 1.34 | 10-Feb-2022 |
ozaki-r | branches: 1.34.4; mount_9p: don't cache path names by default
Caching path names doesn't handle file changes by host, which is not expected for normal usages. So turn it off by default.
Instead, -C option is added to turn it on.
Patch from k-goda@IIJ with my tweaks
|
| 1.33 | 14-Jun-2020 |
uwe | Support optional square brackets around the host name.
The brackets are required when using numeric IPv6 addresses as they contain colons as part of their syntax. We do not enforce that the thing in the brackets is a numeric IPv6 address - this matches scp syntax and behavior.
|
| 1.32 | 13-Jun-2020 |
uwe | Remove -46 from the -c usage. While here, sync usage with man page (s/devfile/device).
|
| 1.31 | 13-Jun-2020 |
wiz | Add -46 to usage.
|
| 1.30 | 13-Jun-2020 |
uwe | Support IPv6.
Use getaddrinfo(3). Add -4 and -6 command line options. Obey USE_INET6.
|
| 1.29 | 30-May-2020 |
uwe | Initialize puffs9p::server (though it's not used anywhere).
|
| 1.28 | 29-May-2020 |
uwe | Fix vio9p device name in a comment.
|
| 1.27 | 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.
|
| 1.26 | 20-May-2019 |
ozaki-r | mount_9p: add missing -u option to the help message
|
| 1.25 | 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.
|
| 1.24 | 31-Aug-2011 |
joerg | branches: 1.24.42; Use __dead
|
| 1.23 | 02-Dec-2007 |
wiz | Sort options.
|
| 1.22 | 16-Nov-2007 |
pooka | use puffs_daemon() instead of daemon()
|
| 1.21 | 06-Nov-2007 |
pooka | Open the kernel descriptor as part of mount(), not init(). Then it doesn't matter if someone fork()s or does other tricks between init() and mount() (and besides, now it's where it logically should be).
|
| 1.20 | 05-Nov-2007 |
pooka | Actually, daemonize the file servers before mounting. I might require at some point that the local protocol handler does not change after the file system has been mounted.
|
| 1.19 | 05-Nov-2007 |
pooka | Pull the daemonizing code out of the library mainloop into the file servers. Calling daemon() (i.e. fork()ing) inside a library can cause nice surprises for e.g. threaded programs. As discussed with Greg Oster & others.
|
| 1.18 | 15-Oct-2007 |
pooka | update usage to match reality. caught by jmcneill
|
| 1.17 | 01-Sep-2007 |
pooka | Adapt to new puffs_framev_init() signature - gotfb.
|
| 1.16 | 17-Jul-2007 |
pooka | branches: 1.16.4; * add mntfromname parameter to puffs_init() * set it in file servers
|
| 1.15 | 17-Jul-2007 |
pooka | support standard user@host:path mount argument
|
| 1.14 | 08-Jul-2007 |
pooka | Accept user as a flag. This way the usage is fstab-compliant: mount_9p argument mountpoint
|
| 1.13 | 07-Jul-2007 |
pooka | adapt to puffs_framebuf changes
|
| 1.12 | 19-May-2007 |
pooka | support reclaim. set noref setback when removing a node to prompt immediate reclaim.
|
| 1.11 | 17-May-2007 |
pooka | reflect changes in fs mount: use puffs_mount() instead of puffs_domount() & puffs_start()
|
| 1.10 | 15-May-2007 |
pooka | adapt to "step 3" of puffs_framebuf changes
|
| 1.9 | 11-May-2007 |
pooka | use puffs_mainloop(); puffs_framebuf_eventloop() is a goner
|
| 1.8 | 11-May-2007 |
pooka | adapt to puffs_framebuf changes
|
| 1.7 | 07-May-2007 |
pooka | Use inactive-on-demand, set inactive request in open() to close file handles when last reference is removed from the kernel.
|
| 1.6 | 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.5 | 06-May-2007 |
pooka | adapt to puffs_framebuf_eventloop signature change
|
| 1.4 | 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.3 | 02-May-2007 |
pooka | For consistency destroy kernel request putbuffers also when escaping event loop (the process is going to exit anyway, but ...)
|
| 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.16.4.2 | 09-Jan-2008 |
matt | sync with HEAD
|
| 1.16.4.1 | 06-Nov-2007 |
matt | sync with HEAD
|
| 1.24.42.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.24.42.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.34.4.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
| 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.
|
| 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.
|
| 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.
|
| 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
|
| 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.10.4.2 | 09-Jan-2008 |
matt | sync with HEAD
|
| 1.10.4.1 | 06-Nov-2007 |
matt | sync with HEAD
|
| 1.12.70.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.12.70.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.32 | 10-Mar-2025 |
riastradh | mount_9p(8): Implement pathconf stub.
Doesn't actually do anything useful -- it just returns EINVAL as pathconf is supposed to for unknown pathconf key names; by default, it will return ENOTSUPP, which leads applications like ls(1) to print:
ls: /mnt/.git: Operation not supported
This is a little silly; perhaps puffs should use EINVAL itself instead of ENOTSUPP. But this change is less risky for now.
PR bin/58768: mount_9p: missing pathconf(2) support
|
| 1.31 | 02-Mar-2022 |
ozaki-r | branches: 1.31.4; mount_9p: check returned type for Tread
|
| 1.30 | 02-Mar-2022 |
ozaki-r | mount_9p: fix writing to a file opened with write-only mode
With the page cache, writing data to a file may demand to read contents from a storage to fill a page in the page cache first.
Opening a file with write-only mode by a user lets a mount_9p process open a file with write-only mode too at a 9p server. Thus, a read request to the file from the page cache fails.
So we need to open a file always with read mode (internally) even if it is opened with write-only mode by a user.
Note that the change doesn't mean that mount_9p allows users to read contents from a file that is opened with write-only mode.
|
| 1.29 | 01-Jun-2020 |
uwe | Fix extra whitespace added by accident.
|
| 1.28 | 27-May-2020 |
uwe | puffs9p_node_rename - 9P rename is done with Twstat and can only change the last pathname component. Return EXDEV for attempts to move a file to a different directory to make mv(1) fall back to copying.
|
| 1.27 | 27-May-2020 |
uwe | noderemove - do not call puffs_setback here. noderemove is called from rename (for existing target) and calling setback is not appropriate in that context. Do that call instead directly in the callers (remove, rmdir).
From Nicola Girardi, part of PR/54829.
|
| 1.26 | 27-May-2020 |
uwe | puffs9p_node_rename - noderename takes puffs_node, not p9pnode, but this goes undetected b/c pn_data we pass is a pointer to void.
From Nicola Girardi, part of PR/54829.
|
| 1.25 | 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.
|
| 1.24 | 26-May-2020 |
uwe | puffs9p_node_lookup - use the right type for tfid.
|
| 1.23 | 07-Jun-2019 |
ozaki-r | branches: 1.23.2; Handle Rerror and return errno correctly (only for 9P2000.u for now)
|
| 1.22 | 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.
|
| 1.21 | 18-Jan-2009 |
lukem | branches: 1.21.40; 1.21.48; fix -Wsign-compare issues
|
| 1.20 | 22-Aug-2008 |
pooka | * Apparently u9fs returns the inode number as the unique qidpath. This is fairly annoying if browsing a hierarchy with multiple file systems mounted, since at least inode 2 is fairly common. Compensate by comparing modification time also. Not perfect, but .... * Don't loop eternally if we attempt to read at or past EOF. Fixes reading files on a non-cached mount.
|
| 1.19 | 30-Nov-2007 |
pooka | branches: 1.19.8; 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.18 | 27-Nov-2007 |
pooka | Remove "puffs_cid" from the puffs interface following l-removal from the kernel vfs interfaces. puffs_cc_getcaller(pcc) can be used now should the same information be desired.
|
| 1.17 | 13-Oct-2007 |
pooka | Execute getattr in lookup to get file size. The kernel doesn't anymore do this if we fail to set size.
The whole lookup procedure should be done in a smarter fashion, but this is the quickie fix to get things working again.
|
| 1.16 | 02-Jul-2007 |
pooka | branches: 1.16.4; adapt: inactive no longer comes with int *refcount (not that it was used except for setting the default here anyway)
|
| 1.15 | 01-Jul-2007 |
pooka | adapt: **newnode etc. pointers -> struct puffs_newinfo
|
| 1.14 | 01-Jul-2007 |
pooka | adapt: pid -> const struct puffs_cid *
|
| 1.13 | 24-Jun-2007 |
pooka | Call puffs_pn_remove() just in case the file server happens to be quick with recycling qids.
|
| 1.12 | 19-May-2007 |
pooka | support reclaim. set noref setback when removing a node to prompt immediate reclaim.
|
| 1.11 | 16-May-2007 |
pooka | Enhance the GETRESPONSE, JUSTSEND and SENDCB macros to process the return value from the network layer.
|
| 1.10 | 15-May-2007 |
pooka | In case we counter a protocol error while parsing the readdir response, completely release our directory cookie - it's unlike we'll be coming back to it. And if we do, it'll just be autogenerated.
CID 4487
|
| 1.9 | 15-May-2007 |
pooka | free name from proto_getstat() after use
CID 4488
|
| 1.8 | 11-May-2007 |
pooka | adapt to puffs_framebuf changes
|
| 1.7 | 07-May-2007 |
pooka | Use inactive-on-demand, set inactive request in open() to close file handles when last reference is removed from the kernel.
|
| 1.6 | 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.5 | 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.4 | 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.3 | 04-May-2007 |
pooka | Fix a couple of gotchas left after AUTOVAR() started creating the network buffers.
CID 4477, 4478, 4479, 4480
|
| 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.16.4.2 | 09-Jan-2008 |
matt | sync with HEAD
|
| 1.16.4.1 | 06-Nov-2007 |
matt | sync with HEAD
|
| 1.19.8.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
| 1.21.48.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.21.40.2 | 18-Mar-2022 |
martin | Minimal build fix for ticket #1738
|
| 1.21.40.1 | 15-Mar-2022 |
martin | Pull up following revision(s) (requested by ozaki-r in ticket #1738):
usr.sbin/puffs/mount_9p/node.c: revision 1.30 usr.sbin/puffs/mount_9p/node.c: revision 1.31
mount_9p: fix writing to a file opened with write-only mode
With the page cache, writing data to a file may demand to read contents from a storage to fill a page in the page cache first.
Opening a file with write-only mode by a user lets a mount_9p process open a file with write-only mode too at a 9p server. Thus, a read request to the file from the page cache fails.
So we need to open a file always with read mode (internally) even if it is opened with write-only mode by a user.
Note that the change doesn't mean that mount_9p allows users to read contents from a file that is opened with write-only mode.
-
mount_9p: check returned type for Tread
|
| 1.23.2.1 | 15-Mar-2022 |
martin | Pull up following revision(s) (requested by ozaki-r in ticket #1434):
usr.sbin/puffs/mount_9p/node.c: revision 1.30 usr.sbin/puffs/mount_9p/node.c: revision 1.31
mount_9p: fix writing to a file opened with write-only mode
With the page cache, writing data to a file may demand to read contents from a storage to fill a page in the page cache first.
Opening a file with write-only mode by a user lets a mount_9p process open a file with write-only mode too at a 9p server. Thus, a read request to the file from the page cache fails.
So we need to open a file always with read mode (internally) even if it is opened with write-only mode by a user.
Note that the change doesn't mean that mount_9p allows users to read contents from a file that is opened with write-only mode.
-
mount_9p: check returned type for Tread
|
| 1.31.4.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
| 1.8 | 26-May-2020 |
uwe | getdfwithoffset - do not issue dummy read to seek to offset zero on a newly opened fid as it's already there. This is redundant and also seems to confuse inferno when issued against the root directory. Now you can ls the mount point of
styxlisten -A 'tcp!*!styx' export /
While here fix the seek logic to actually repeatedly seek forward instead of always doing it from zero.
|
| 1.7 | 07-Jun-2019 |
ozaki-r | Handle Rerror and return errno correctly (only for 9P2000.u for now)
|
| 1.6 | 30-Nov-2007 |
pooka | branches: 1.6.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.5 | 16-May-2007 |
pooka | branches: 1.5.4; Enhance the GETRESPONSE, JUSTSEND and SENDCB macros to process the return value from the network layer.
|
| 1.4 | 15-May-2007 |
pooka | * free framebuf after use (even in the common path ;) * simplify a loop
|
| 1.3 | 11-May-2007 |
pooka | adapt to puffs_framebuf changes
|
| 1.2 | 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.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.5.4.1 | 09-Jan-2008 |
matt | sync with HEAD
|
| 1.6.70.1 | 10-Jun-2019 |
christos | Sync with HEAD
|