The NetBSD Project

CVS log for src/usr.sbin/puffs/mount_9p/node.c

[BACK] Up to [cvs.NetBSD.org] / src / usr.sbin / puffs / mount_9p

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.29 / (download) - annotate - [select for diffs], Mon Jun 1 13:30:52 2020 UTC (16 months, 3 weeks ago) by uwe
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, HEAD
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)

Fix extra whitespace added by accident.

Revision 1.28 / (download) - annotate - [select for diffs], Wed May 27 03:25:13 2020 UTC (17 months ago) by uwe
Branch: MAIN
Changes since 1.27: +13 -13 lines
Diff to previous 1.27 (colored)

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.

Revision 1.27 / (download) - annotate - [select for diffs], Wed May 27 00:36:07 2020 UTC (17 months ago) by uwe
Branch: MAIN
Changes since 1.26: +16 -7 lines
Diff to previous 1.26 (colored)

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.

Revision 1.26 / (download) - annotate - [select for diffs], Wed May 27 00:05:22 2020 UTC (17 months ago) by uwe
Branch: MAIN
Changes since 1.25: +3 -3 lines
Diff to previous 1.25 (colored)

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.

Revision 1.25 / (download) - annotate - [select for diffs], Tue May 26 22:54:43 2020 UTC (17 months ago) by uwe
Branch: MAIN
Changes since 1.24: +11 -2 lines
Diff to previous 1.24 (colored)

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 1.24 / (download) - annotate - [select for diffs], Tue May 26 22:08:11 2020 UTC (17 months ago) by uwe
Branch: MAIN
Changes since 1.23: +3 -3 lines
Diff to previous 1.23 (colored)

puffs9p_node_lookup - use the right type for tfid.

Revision 1.21.48.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:10:35 2019 UTC (2 years, 4 months ago) by christos
Branch: phil-wifi
Changes since 1.21: +22 -15 lines
Diff to previous 1.21 (colored) next main 1.22 (colored)

Sync with HEAD

Revision 1.23 / (download) - annotate - [select for diffs], Fri Jun 7 05:34:34 2019 UTC (2 years, 4 months ago) by ozaki-r
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, netbsd-9-base, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, is-mlppp-base, is-mlppp
Changes since 1.22: +15 -10 lines
Diff to previous 1.22 (colored)

Handle Rerror and return errno correctly (only for 9P2000.u for now)

Revision 1.22 / (download) - annotate - [select for diffs], Fri May 17 08:48:04 2019 UTC (2 years, 5 months ago) by ozaki-r
Branch: MAIN
Changes since 1.21: +9 -7 lines
Diff to previous 1.21 (colored)

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 1.21 / (download) - annotate - [select for diffs], Sun Jan 18 10:10:47 2009 UTC (12 years, 9 months ago) by lukem
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-premerge-20091211, matt-nb8-mediatek-base, matt-nb8-mediatek, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, localcount-20160914, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, cherry-xenmp-base, cherry-xenmp, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver
Branch point for: phil-wifi
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored)

fix -Wsign-compare issues

Revision 1.19.8.1 / (download) - annotate - [select for diffs], Thu Sep 18 04:30:10 2008 UTC (13 years, 1 month ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.19: +29 -12 lines
Diff to previous 1.19 (colored) next main 1.20 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.20 / (download) - annotate - [select for diffs], Fri Aug 22 17:44:14 2008 UTC (13 years, 2 months ago) by pooka
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2
Changes since 1.19: +29 -12 lines
Diff to previous 1.19 (colored)

* 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.

Revision 1.16.4.2 / (download) - annotate - [select for diffs], Wed Jan 9 02:02:18 2008 UTC (13 years, 9 months ago) by matt
Branch: matt-armv6
Changes since 1.16.4.1: +54 -58 lines
Diff to previous 1.16.4.1 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)

sync with HEAD

Revision 1.19 / (download) - annotate - [select for diffs], Fri Nov 30 19:02:39 2007 UTC (13 years, 11 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, wrstuden-revivesa-base-1, wrstuden-revivesa-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, cube-autoconf-base, cube-autoconf
Branch point for: wrstuden-revivesa
Changes since 1.18: +51 -52 lines
Diff to previous 1.18 (colored)

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.

Revision 1.18 / (download) - annotate - [select for diffs], Tue Nov 27 11:31:20 2007 UTC (13 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.17: +7 -10 lines
Diff to previous 1.17 (colored)

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.

Revision 1.16.4.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:36:31 2007 UTC (13 years, 11 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.16: +40 -25 lines
Diff to previous 1.16 (colored)

sync with HEAD

Revision 1.17 / (download) - annotate - [select for diffs], Sat Oct 13 17:21:39 2007 UTC (14 years ago) by pooka
Branch: MAIN
Changes since 1.16: +40 -25 lines
Diff to previous 1.16 (colored)

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.

Revision 1.16 / (download) - annotate - [select for diffs], Mon Jul 2 10:26:50 2007 UTC (14 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: matt-armv6
Changes since 1.15: +3 -4 lines
Diff to previous 1.15 (colored)

adapt: inactive no longer comes with int *refcount (not that it was
used except for setting the default here anyway)

Revision 1.15 / (download) - annotate - [select for diffs], Sun Jul 1 18:40:16 2007 UTC (14 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.14: +15 -15 lines
Diff to previous 1.14 (colored)

adapt: **newnode etc. pointers -> struct puffs_newinfo

Revision 1.14 / (download) - annotate - [select for diffs], Sun Jul 1 17:23:44 2007 UTC (14 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.13: +10 -8 lines
Diff to previous 1.13 (colored)

adapt: pid -> const struct puffs_cid *

Revision 1.13 / (download) - annotate - [select for diffs], Sun Jun 24 19:13:39 2007 UTC (14 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.12: +7 -5 lines
Diff to previous 1.12 (colored)

Call puffs_pn_remove() just in case the file server happens to be
quick with recycling qids.

Revision 1.12 / (download) - annotate - [select for diffs], Sat May 19 10:38:23 2007 UTC (14 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.11: +14 -6 lines
Diff to previous 1.11 (colored)

support reclaim.  set noref setback when removing a node to prompt
immediate reclaim.

Revision 1.11 / (download) - annotate - [select for diffs], Wed May 16 09:57:21 2007 UTC (14 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.10: +13 -2 lines
Diff to previous 1.10 (colored)

Enhance the GETRESPONSE, JUSTSEND and SENDCB macros to process the
return value from the network layer.

Revision 1.10 / (download) - annotate - [select for diffs], Tue May 15 14:12:41 2007 UTC (14 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.9: +11 -3 lines
Diff to previous 1.9 (colored)

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

Revision 1.9 / (download) - annotate - [select for diffs], Tue May 15 13:56:00 2007 UTC (14 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.8: +4 -2 lines
Diff to previous 1.8 (colored)

free name from proto_getstat() after use

CID 4488

Revision 1.8 / (download) - annotate - [select for diffs], Fri May 11 16:23:00 2007 UTC (14 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.7: +12 -12 lines
Diff to previous 1.7 (colored)

adapt to puffs_framebuf changes

Revision 1.7 / (download) - annotate - [select for diffs], Mon May 7 17:20:58 2007 UTC (14 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.6: +3 -4 lines
Diff to previous 1.6 (colored)

Use inactive-on-demand, set inactive request in open() to close
file handles when last reference is removed from the kernel.

Revision 1.6 / (download) - annotate - [select for diffs], Sun May 6 22:17:50 2007 UTC (14 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.5: +5 -5 lines
Diff to previous 1.5 (colored)

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.

Revision 1.5 / (download) - annotate - [select for diffs], Sun May 6 21:58:24 2007 UTC (14 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.4: +15 -17 lines
Diff to previous 1.4 (colored)

Close file handles in inactive instead of close - a memory mapping
may still be active after a vnode is closed

Revision 1.4 / (download) - annotate - [select for diffs], Sat May 5 15:49:51 2007 UTC (14 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.3: +26 -41 lines
Diff to previous 1.3 (colored)

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.

Revision 1.3 / (download) - annotate - [select for diffs], Fri May 4 18:17:34 2007 UTC (14 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.2: +3 -7 lines
Diff to previous 1.2 (colored)

Fix a couple of gotchas left after AUTOVAR() started creating the
network buffers.

CID 4477, 4478, 4479, 4480

Revision 1.2 / (download) - annotate - [select for diffs], Sun Apr 22 18:10:48 2007 UTC (14 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.1: +38 -18 lines
Diff to previous 1.1 (colored)

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

Revision 1.1 / (download) - annotate - [select for diffs], Sat Apr 21 14:21:44 2007 UTC (14 years, 6 months ago) by pooka
Branch: MAIN

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.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>