The NetBSD Project

CVS log for src/sys/fs/puffs/puffs_subr.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / fs / puffs

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.67 / (download) - annotate - [select for diffs], Mon Nov 10 18:46:33 2014 UTC (5 weeks, 3 days ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base, nick-nhusb, HEAD
Changes since 1.66: +2 -3 lines
Diff to previous 1.66 (colored)

Do not uselessly include <sys/malloc.h>.

Revision 1.65.4.1 / (download) - annotate - [select for diffs], Mon May 4 08:13:43 2009 UTC (5 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.65: +3 -2 lines
Diff to previous 1.65 (colored) next main 1.66 (colored)

sync with head.

Revision 1.65.12.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:19:36 2009 UTC (5 years, 10 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.65: +3 -2 lines
Diff to previous 1.65 (colored) next main 1.66 (colored)

Sync with HEAD.

Revision 1.64.6.2 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:17 2009 UTC (5 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.64.6.1: +1 -0 lines
Diff to previous 1.64.6.1 (colored) to branchpoint 1.64 (colored) next main 1.65 (colored)

Sync with HEAD.

Revision 1.65.10.1 / (download) - annotate - [select for diffs], Sat Dec 13 01:14:59 2008 UTC (6 years ago) by haad
Branch: haad-dm
Changes since 1.65: +3 -2 lines
Diff to previous 1.65 (colored) next main 1.66 (colored)

Update haad-dm branch to haad-dm-base2.

Revision 1.66 / (download) - annotate - [select for diffs], Sun Nov 16 19:34:30 2008 UTC (6 years, 1 month ago) by pooka
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, yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-uvmplock, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, 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, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, netbsd-7-base, 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, mjf-devfs2-base, matt-premerge-20091211, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, khorben-n900, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, jruoho-x86intr-base, jruoho-x86intr, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, haad-nbase2, haad-dm-base2, haad-dm-base, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver, ad-audiomp2-base, ad-audiomp2
Changes since 1.65: +3 -2 lines
Diff to previous 1.65 (colored)

more <sys/buf.h> police

Revision 1.64.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:43:00 2008 UTC (6 years, 8 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored)

Sync with HEAD.

Revision 1.64.2.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:16:13 2008 UTC (6 years, 8 months ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored) next main 1.65 (colored)

sync with head.

Revision 1.44.4.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:56 2008 UTC (6 years, 8 months ago) by matt
Branch: matt-armv6
Changes since 1.44.4.2: +5 -5 lines
Diff to previous 1.44.4.2 (colored) to branchpoint 1.44 (colored) next main 1.45 (colored)

sync with HEAD

Revision 1.13.2.9 / (download) - annotate - [select for diffs], Mon Mar 17 09:15:32 2008 UTC (6 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13.2.8: +3 -3 lines
Diff to previous 1.13.2.8 (colored) next main 1.14 (colored)

sync with head.

Revision 1.65 / (download) - annotate - [select for diffs], Sat Mar 1 14:16:51 2008 UTC (6 years, 9 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, 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, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, hpcarm-cleanup-nbase, haad-dm-base1, ad-socklock-base1
Branch point for: yamt-nfs-mp, nick-hppapmap, haad-dm
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored)

Welcome to 4.99.55:

- Add a lot of missing selinit() and seldestroy() calls.

- Merge selwakeup() and selnotify() calls into a single selnotify().

- Add an additional 'events' argument to selnotify() call.  It will
  indicate which event (POLL_IN, POLL_OUT, etc) happen.  If unknown,
  zero may be used.

Note: please pass appropriate value of 'events' where possible.
Proposed on: <tech-kern>

Revision 1.57.4.3 / (download) - annotate - [select for diffs], Mon Feb 18 21:06:40 2008 UTC (6 years, 10 months ago) by mjf
Branch: mjf-devfs
Changes since 1.57.4.2: +5 -5 lines
Diff to previous 1.57.4.2 (colored) to branchpoint 1.57 (colored) next main 1.58 (colored)

Sync with HEAD.

Revision 1.13.2.8 / (download) - annotate - [select for diffs], Mon Feb 4 09:23:59 2008 UTC (6 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13.2.7: +4 -4 lines
Diff to previous 1.13.2.7 (colored)

sync with head.

Revision 1.64 / (download) - annotate - [select for diffs], Mon Jan 28 21:06:37 2008 UTC (6 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, hpcarm-cleanup-base
Branch point for: mjf-devfs2, keiichi-mipv6
Changes since 1.63: +4 -4 lines
Diff to previous 1.63 (colored)

For code clarity typedef void *puffs_cookie_t.

No functional change.

Revision 1.13.2.7 / (download) - annotate - [select for diffs], Mon Jan 21 09:45:51 2008 UTC (6 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13.2.6: +4 -20 lines
Diff to previous 1.13.2.6 (colored)

sync with head

Revision 1.44.4.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:55:48 2008 UTC (6 years, 11 months ago) by matt
Branch: matt-armv6
Changes since 1.44.4.1: +54 -21 lines
Diff to previous 1.44.4.1 (colored) to branchpoint 1.44 (colored)

sync with HEAD

Revision 1.62.4.1 / (download) - annotate - [select for diffs], Tue Jan 8 22:11:26 2008 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.62: +3 -3 lines
Diff to previous 1.62 (colored) next main 1.63 (colored)

Sync with HEAD

Revision 1.63 / (download) - annotate - [select for diffs], Wed Jan 2 22:37:19 2008 UTC (6 years, 11 months ago) by pooka
Branch: MAIN
CVS Tags: matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.62: +3 -3 lines
Diff to previous 1.62 (colored)

More type-punning workarounds.  Curiously the kernel compilation
flags cause gcc to not complain.

Revision 1.57.4.2 / (download) - annotate - [select for diffs], Thu Dec 27 00:45:47 2007 UTC (6 years, 11 months ago) by mjf
Branch: mjf-devfs
Changes since 1.57.4.1: +3 -19 lines
Diff to previous 1.57.4.1 (colored) to branchpoint 1.57 (colored)

Sync with HEAD.

Revision 1.60.2.1 / (download) - annotate - [select for diffs], Wed Dec 26 19:57:03 2007 UTC (6 years, 11 months ago) by ad
Branch: vmlocking2
Changes since 1.60: +3 -19 lines
Diff to previous 1.60 (colored) next main 1.61 (colored)

Sync with head.

Revision 1.44.2.4 / (download) - annotate - [select for diffs], Sun Dec 9 19:38:10 2007 UTC (7 years ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.44.2.3: +3 -19 lines
Diff to previous 1.44.2.3 (colored) to branchpoint 1.44 (colored) next main 1.45 (colored)

Sync with HEAD.

Revision 1.62 / (download) - annotate - [select for diffs], Sat Dec 8 19:57:03 2007 UTC (7 years ago) by pooka
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: bouyer-xeni386
Changes since 1.61: +3 -18 lines
Diff to previous 1.61 (colored)

Now that "l" is gone both as an argument to operations and from
componentname, remove all vestiges of puffs_cid.

Revision 1.61 / (download) - annotate - [select for diffs], Sat Dec 8 19:29:44 2007 UTC (7 years ago) by pooka
Branch: MAIN
Changes since 1.60: +2 -3 lines
Diff to previous 1.60 (colored)

Remove cn_lwp from struct componentname.  curlwp should be used
from on.  The NDINIT() macro no longer takes the lwp parameter and
associates the credentials of the calling thread with the namei
structure.

Revision 1.13.2.6 / (download) - annotate - [select for diffs], Fri Dec 7 17:32:04 2007 UTC (7 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13.2.5: +55 -6 lines
Diff to previous 1.13.2.5 (colored)

sync with head

Revision 1.44.2.3 / (download) - annotate - [select for diffs], Wed Nov 21 21:55:55 2007 UTC (7 years ago) by joerg
Branch: jmcneill-pm
Changes since 1.44.2.2: +55 -6 lines
Diff to previous 1.44.2.2 (colored) to branchpoint 1.44 (colored)

Sync with HEAD.

Revision 1.57.4.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:48:29 2007 UTC (7 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.57: +55 -6 lines
Diff to previous 1.57 (colored)

Sync with HEAD.

Revision 1.57.2.1 / (download) - annotate - [select for diffs], Sun Nov 18 19:35:45 2007 UTC (7 years, 1 month ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.57: +55 -6 lines
Diff to previous 1.57 (colored) next main 1.58 (colored)

Sync with HEAD

Revision 1.60 / (download) - annotate - [select for diffs], Sat Nov 17 21:55:29 2007 UTC (7 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: vmlocking2
Changes since 1.59: +3 -3 lines
Diff to previous 1.59 (colored)

Make puffs_updatenode() take a puffs_node instead of a vnode.  This
way we don't need to worry if a vnode has been reclaimed from under
us.

Revision 1.59 / (download) - annotate - [select for diffs], Sat Nov 17 18:09:04 2007 UTC (7 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.58: +36 -5 lines
Diff to previous 1.58 (colored)

Implement a biodone callback for async writes similar to reads and
use that when possible.

Revision 1.58 / (download) - annotate - [select for diffs], Fri Nov 16 20:32:18 2007 UTC (7 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.57: +20 -2 lines
Diff to previous 1.57 (colored)

Restructure the messaging interface a bit more: make all interfacing
with the file server happen through puffs_msg_enqueue() and
puffs_msg_wait() instead of having a billion different routines.
Build the existing system upon these two.  Most importantly though,
decouple insertation into the op queue from the actual wait.  This
is useful for a number of reasons coming soon to a cvs repo near you.

Revision 1.44.4.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:31:15 2007 UTC (7 years, 1 month ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.44: +38 -480 lines
Diff to previous 1.44 (colored)

sync with HEAD

Revision 1.13.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:35:11 2007 UTC (7 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13.2.4: +38 -480 lines
Diff to previous 1.13.2.4 (colored)

sync with head.

Revision 1.44.2.2 / (download) - annotate - [select for diffs], Fri Oct 26 15:48:19 2007 UTC (7 years, 1 month ago) by joerg
Branch: jmcneill-pm
Changes since 1.44.2.1: +9 -10 lines
Diff to previous 1.44.2.1 (colored) to branchpoint 1.44 (colored)

Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.

Revision 1.45.2.2 / (download) - annotate - [select for diffs], Sun Oct 14 11:48:32 2007 UTC (7 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.45.2.1: +9 -10 lines
Diff to previous 1.45.2.1 (colored) to branchpoint 1.45 (colored) next main 1.46 (colored)

sync with head.

Revision 1.22.2.14 / (download) - annotate - [select for diffs], Fri Oct 12 17:03:17 2007 UTC (7 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.13: +8 -10 lines
Diff to previous 1.22.2.13 (colored) next main 1.23 (colored)

Sync with head.

Revision 1.57 / (download) - annotate - [select for diffs], Thu Oct 11 19:41:14 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base, jmcneill-base
Branch point for: mjf-devfs, bouyer-xenamd64
Changes since 1.56: +8 -10 lines
Diff to previous 1.56 (colored)

Part 1/n of some pretty extensive changes to how the kernel module
interacts with the userspace file server:

  * since the kernel-user communication is not purely request-response
    anymore (hasn't been since 2006), try to rename some "request" to
    "message".  more similar mangling will take place in the future.

  * completely rework how messages are allocated.  previously most of
    them were borrowed from the stack (originally *all* of them),
    but now always allocate dynamically.  this makes the structure
    of the code much cleaner.  also makes it possible to fix a
    locking order violation.  it enables plenty of future enhancements.

  * start generalizing the transport interface to be independent of puffs

  * move transport interface to read/write instead of ioctl.  the
    old one had legacy design problems, and besides, ioctl's suck.
    implement a very generic version for now; this will be
    worked on later hopefully some day reaching "highly optimized".

  * implement libpuffs support behind existing library request
    interfaces.  this will change eventually (I hate those interfaces)

Revision 1.56 / (download) - annotate - [select for diffs], Wed Oct 10 20:42:24 2007 UTC (7 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.55: +3 -2 lines
Diff to previous 1.55 (colored)

Merge from vmlocking:

- Split vnode::v_flag into three fields, depending on field locking.
- simple_lock -> kmutex in a few places.
- Fix some simple locking problems.

Revision 1.22.2.13 / (download) - annotate - [select for diffs], Tue Oct 9 15:22:16 2007 UTC (7 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.12: +2 -402 lines
Diff to previous 1.22.2.12 (colored)

Sync with head.

Revision 1.22.2.12 / (download) - annotate - [select for diffs], Tue Oct 9 13:44:19 2007 UTC (7 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.11: +32 -73 lines
Diff to previous 1.22.2.11 (colored)

Sync with head.

Revision 1.45.2.1 / (download) - annotate - [select for diffs], Sat Oct 6 15:29:48 2007 UTC (7 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.45: +32 -475 lines
Diff to previous 1.45 (colored)

sync with head.

Revision 1.44.2.1 / (download) - annotate - [select for diffs], Tue Oct 2 18:28:53 2007 UTC (7 years, 2 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.44: +32 -473 lines
Diff to previous 1.44 (colored)

Sync with HEAD.

Revision 1.55 / (download) - annotate - [select for diffs], Mon Oct 1 21:09:08 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base2
Changes since 1.54: +9 -7 lines
Diff to previous 1.54 (colored)

* better error checking: validate error values received from userland
  to be vaild errno values
* include string describing error in PUFFS_ERR
* get rid of union in puffs_req, it's nothing but trouble
* pass pmp to async i/o callbacks

Revision 1.54 / (download) - annotate - [select for diffs], Sat Sep 29 20:17:36 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.53: +2 -3 lines
Diff to previous 1.53 (colored)

kill trailing whitespace

Revision 1.53 / (download) - annotate - [select for diffs], Thu Sep 27 23:21:08 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.52: +26 -514 lines
Diff to previous 1.52 (colored)

Split routines handling nodes from puffs_subr to puffs_node.
No functional change.

Revision 1.52 / (download) - annotate - [select for diffs], Thu Sep 27 23:03:25 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.51: +1 -6 lines
Diff to previous 1.51 (colored)

Revert previous, it makes no sense whatsoever.

Revision 1.51 / (download) - annotate - [select for diffs], Thu Sep 27 21:49:56 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.50: +8 -3 lines
Diff to previous 1.50 (colored)

Undo state created in cookie2vnode if an error is returned.

Revision 1.50 / (download) - annotate - [select for diffs], Thu Sep 27 21:44:12 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.49: +3 -8 lines
Diff to previous 1.49 (colored)

Differentiate between cookie2vnode returning an error and
return to caller, address unknown: no such cookie, no such node.
Make the callers use this info to either create a new vnode or bail.

Revision 1.49 / (download) - annotate - [select for diffs], Thu Sep 27 21:14:50 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.48: +10 -10 lines
Diff to previous 1.48 (colored)

Add error notifications, which are used to deliver errors from the
kernel to the file server for silly things the file server did,
e.g. attempting to create a file with size VSIZENOTSET.  The file
server can handle these as it chooses, but the default action is
for it to throw its hands in the air and sing "goodbye, cruel world,
it's over, walk on by".

Revision 1.48 / (download) - annotate - [select for diffs], Thu Sep 27 18:06:41 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.47: +10 -8 lines
Diff to previous 1.47 (colored)

Don't forget to insert the root node on the hash list.

... I should remember to test also if unmounting a file system works
before I commit stuff.

Revision 1.47 / (download) - annotate - [select for diffs], Thu Sep 27 14:35:14 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.46: +67 -18 lines
Diff to previous 1.46 (colored)

Fix a race in how new cookies are checked.  Previously the checking
was done separate of inserting the cookie into the lookup structure
and without any form of interlock.  This could lead to the same
cookie pointing to two different nodes.  Remedy the race by creating
a separate "checked and ready to be inserted" cookie list which
serves as an interlock without having to hold a fs-global creation
lock.

Revision 1.46 / (download) - annotate - [select for diffs], Mon Sep 24 19:15:42 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.45: +12 -14 lines
Diff to previous 1.45 (colored)

add a few comments and g/c dead code

Revision 1.22.2.11 / (download) - annotate - [select for diffs], Sun Sep 16 19:04:30 2007 UTC (7 years, 3 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.10: +2 -3 lines
Diff to previous 1.22.2.10 (colored)

Checkpoint work in progress on the vnode lifecycle and reference counting
stuff. This makes it work properly without kernel_lock and fixes a few
quite old bugs. See vfs_subr.c 1.283.2.17 for details.

Revision 1.40.2.2 / (download) - annotate - [select for diffs], Mon Sep 10 10:55:54 2007 UTC (7 years, 3 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.40.2.1: +4 -2 lines
Diff to previous 1.40.2.1 (colored) to branchpoint 1.40 (colored) next main 1.41 (colored)

Sync with HEAD.

Revision 1.45 / (download) - annotate - [select for diffs], Tue Sep 4 00:11:38 2007 UTC (7 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base, nick-csl-alignment-base5
Branch point for: yamt-x86pmap
Changes since 1.44: +4 -2 lines
Diff to previous 1.44 (colored)

* don't allow the file server to specify a node size to be VSIZENOTSET
* KASSERT that VNOVAL == VSIZENOTSET

Revision 1.13.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:40:30 2007 UTC (7 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13.2.3: +239 -109 lines
Diff to previous 1.13.2.3 (colored)

sync with head.

Revision 1.22.2.10 / (download) - annotate - [select for diffs], Mon Aug 20 21:26:09 2007 UTC (7 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.9: +6 -4 lines
Diff to previous 1.22.2.9 (colored)

Sync with HEAD.

Revision 1.22.2.9 / (download) - annotate - [select for diffs], Sun Aug 19 19:24:51 2007 UTC (7 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.8: +8 -8 lines
Diff to previous 1.22.2.8 (colored)

- Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).

Revision 1.40.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:48:59 2007 UTC (7 years, 4 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.40: +6 -6 lines
Diff to previous 1.40 (colored)

Sync with HEAD.

Revision 1.44.6.2 / (download) - annotate - [select for diffs], Wed Aug 1 14:20:46 2007 UTC (7 years, 4 months ago) by pooka
Branch: matt-mips64
Changes since 1.44.6.1: +625 -0 lines
Diff to previous 1.44.6.1 (colored) to branchpoint 1.44 (colored) next main 1.45 (colored)

add comment to flag a slight problem

Revision 1.44.6.1, Wed Aug 1 14:20:45 2007 UTC (7 years, 4 months ago) by pooka
Branch: matt-mips64
Changes since 1.44: +0 -625 lines
FILE REMOVED

file puffs_subr.c was added on branch matt-mips64 on 2007-08-01 14:20:46 +0000

Revision 1.44 / (download) - annotate - [select for diffs], Wed Aug 1 14:20:45 2007 UTC (7 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: matt-mips64-base
Branch point for: matt-mips64, matt-armv6, jmcneill-pm
Changes since 1.43: +3 -2 lines
Diff to previous 1.43 (colored)

add comment to flag a slight problem

Revision 1.43 / (download) - annotate - [select for diffs], Sun Jul 29 13:31:09 2007 UTC (7 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: hpcarm-cleanup
Changes since 1.42: +2 -4 lines
Diff to previous 1.42 (colored)

It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.

Revision 1.42 / (download) - annotate - [select for diffs], Sun Jul 22 18:22:49 2007 UTC (7 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.41: +3 -2 lines
Diff to previous 1.41 (colored)

Keep track of the maximum size we have supplied the file server (or
it has supplied us).  If we fault pages which are at offset >= server
size, but less than the in-kernel vnode size, inform the file server
of the latest developments in file size before issueing the fault.
The avoids confusion with files which are not written start to finish.

fixes kern/36429 by yamt

Revision 1.41 / (download) - annotate - [select for diffs], Thu Jul 19 19:04:47 2007 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.40: +4 -4 lines
Diff to previous 1.40 (colored)

Initialize pnode to 0 after fetching it from the pool.  At least
one effect is poll() working much better, as selinfo doesn't contain
random bits.

Revision 1.22.2.8 / (download) - annotate - [select for diffs], Sun Jul 15 15:52:51 2007 UTC (7 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.7: +116 -46 lines
Diff to previous 1.22.2.7 (colored)

Sync with head.

Revision 1.23.2.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:09:29 2007 UTC (7 years, 5 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.23: +232 -131 lines
Diff to previous 1.23 (colored) next main 1.24 (colored)

Sync with head.

Revision 1.40 / (download) - annotate - [select for diffs], Mon Jul 9 21:10:49 2007 UTC (7 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base
Branch point for: nick-csl-alignment
Changes since 1.39: +3 -2 lines
Diff to previous 1.39 (colored)

Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements

Revision 1.39 / (download) - annotate - [select for diffs], Mon Jul 2 21:14:00 2007 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.38: +5 -2 lines
Diff to previous 1.38 (colored)

check for invalid vtype

Revision 1.38 / (download) - annotate - [select for diffs], Sun Jul 1 22:54:16 2007 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.37: +10 -5 lines
Diff to previous 1.37 (colored)

Give the file server to ability to request the entire pathname buffer
under lookup by using PUFFS_KFLAG_LOOKUP_FULLPNBUF instead just the
current component.

Revision 1.37 / (download) - annotate - [select for diffs], Sun Jul 1 17:22:14 2007 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.36: +16 -13 lines
Diff to previous 1.36 (colored)

Instead of supplying a plain pid, supply an abstract struct puffs_cid *,
which can currently be used to query the pid and lwpid.

Revision 1.36 / (download) - annotate - [select for diffs], Sun Jul 1 15:30:16 2007 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.35: +14 -12 lines
Diff to previous 1.35 (colored)

make puffs_cred an opaque type

Revision 1.35 / (download) - annotate - [select for diffs], Sun Jun 24 22:16:03 2007 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.34: +3 -3 lines
Diff to previous 1.34 (colored)

Split the NOCACHE option in twain: NOCACHE_NAME & NOCACHE_PAGE.

Revision 1.34 / (download) - annotate - [select for diffs], Thu Jun 21 14:54:49 2007 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.33: +20 -18 lines
Diff to previous 1.33 (colored)

Refactor the pnode2vnode translation slightly so that VFS_ROOT
can use it directly.

Revision 1.33 / (download) - annotate - [select for diffs], Thu Jun 21 14:11:34 2007 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.32: +61 -9 lines
Diff to previous 1.32 (colored)

Reorganize how the root vnode is fetched so that it doesn't always
go through VFS_ROOT() and allow to fetch it without locking it.
This allows us to call the cache flush operations also for the root
vnode and most notably fixes e.g. a "No such file or directory"
for a psshfs root directory ls -l when a file was locally deleted
and remotely re-created.

Also fix some sloppy programming in root node fetch (mostly cosmetic).

Revision 1.22.2.7 / (download) - annotate - [select for diffs], Sun Jun 17 21:31:10 2007 UTC (7 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.6: +5 -3 lines
Diff to previous 1.22.2.6 (colored)

- Increase the number of thread priorities from 128 to 256. How the space
  is set up is to be revisited.
- Implement soft interrupts as kernel threads. A generic implementation
  is provided, with hooks for fast-path MD code that can run the interrupt
  threads over the top of other threads executing in the kernel.
- Split vnode::v_flag into three fields, depending on how the flag is
  locked (by the interlock, by the vnode lock, by the file system).
- Miscellaneous locking fixes and improvements.

Revision 1.22.2.6 / (download) - annotate - [select for diffs], Sat Jun 9 23:58:01 2007 UTC (7 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.5: +4 -12 lines
Diff to previous 1.22.2.5 (colored)

Sync with head.

Revision 1.22.2.5 / (download) - annotate - [select for diffs], Fri Jun 8 14:15:00 2007 UTC (7 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.4: +89 -7 lines
Diff to previous 1.22.2.4 (colored)

Sync with head.

Revision 1.32 / (download) - annotate - [select for diffs], Wed Jun 6 01:55:00 2007 UTC (7 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.31: +2 -5 lines
Diff to previous 1.31 (colored)

Move puffs to a two clause license where it already isn't so.  And
as agc pointed out, even files with the third clause were already
effectively two clause because of a slight bug in the language...

Revision 1.31 / (download) - annotate - [select for diffs], Fri May 18 13:53:09 2007 UTC (7 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.30: +67 -5 lines
Diff to previous 1.30 (colored)

Support VOP_POLL.  This requires some acrobatics on the puffs_node,
as we give a reference to userspace for the puffs_node for the
duration of the poll call.  So reference count puffs_node separately
from the parent vnode.  vref()/vrele() is not possible due to a possible
surprise visit from VOP_INACTIVE.

Revision 1.30 / (download) - annotate - [select for diffs], Thu May 17 13:59:22 2007 UTC (7 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.29: +4 -4 lines
Diff to previous 1.29 (colored)

Make it possible for the file server to specify the root vnode type
and other information instead of always using VDIR.  To make this
possible without races, require all root node information already
in puffs_mount() and nuke puffs_start2() and the associated start
operation completely.

requested/inspired by Tobias Nygren

Revision 1.20.2.6 / (download) - annotate - [select for diffs], Thu May 17 13:41:44 2007 UTC (7 years, 7 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.20.2.5: +5 -2 lines
Diff to previous 1.20.2.5 (colored) next main 1.21 (colored)

sync with head.

Revision 1.29 / (download) - annotate - [select for diffs], Tue May 8 21:39:03 2007 UTC (7 years, 7 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-idlelwp-base8
Changes since 1.28: +5 -2 lines
Diff to previous 1.28 (colored)

Adventures in file systems, part (u_quad_t)-1: we can't use the
file system value for the size of device special files, as that
comes from specfs instead of the "host" file system.  Therefore,
take care that getattr doesn't override the value of vp->v_size.

Revision 1.20.2.5 / (download) - annotate - [select for diffs], Mon May 7 10:55:42 2007 UTC (7 years, 7 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.20.2.4: +19 -2 lines
Diff to previous 1.20.2.4 (colored)

sync with head.

Revision 1.28 / (download) - annotate - [select for diffs], Tue May 1 12:18:40 2007 UTC (7 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.27: +19 -2 lines
Diff to previous 1.27 (colored)

Fix a problem introduced when I converted puffs to use newlock2:
when unmounting the file system in case of a certain timing (and
possibly some other conditions), a thread would wait on a condition
variable, while another thread broadcast the cv and immediately
proceeded to destroy it.  The result was a system frozen completely
solid shorly after the process waiting for the cv woke up.  So
introduce reference counting to synchronize destruction of the
resources in unmount.

I was able to repeat the problem only on my laptop in some special
cases, so I do not know how common it was.  Ironically, killing
the file server process violently instead of unmount() didn't have
this problem because it never entered the unmount path from two
directions.

Revision 1.20.2.4 / (download) - annotate - [select for diffs], Sun Apr 15 16:03:46 2007 UTC (7 years, 8 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.20.2.3: +22 -79 lines
Diff to previous 1.20.2.3 (colored)

sync with head.

Revision 1.22.2.4 / (download) - annotate - [select for diffs], Tue Apr 10 13:26:35 2007 UTC (7 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.3: +42 -88 lines
Diff to previous 1.22.2.3 (colored)

Sync with head.

Revision 1.22.2.3 / (download) - annotate - [select for diffs], Thu Apr 5 21:57:48 2007 UTC (7 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.2: +4 -3 lines
Diff to previous 1.22.2.2 (colored)

Compile fixes.

Revision 1.27 / (download) - annotate - [select for diffs], Fri Mar 30 17:48:58 2007 UTC (7 years, 8 months ago) by pooka
Branch: MAIN
CVS Tags: thorpej-atomic-base, thorpej-atomic
Changes since 1.26: +23 -2 lines
Diff to previous 1.26 (colored)

* abstract ASYNCBIOREAD and let callers freely issue a callback called
  from putop.  even though there's only one user currently, makes code
  more readable
* move "delta" to a standard parameter in vntouser and get rid of the
  specialcase vntouser_delta

Revision 1.24.2.1 / (download) - annotate - [select for diffs], Thu Mar 29 19:27:55 2007 UTC (7 years, 8 months ago) by reinoud
Branch: reinoud-bufcleanup
Changes since 1.24: +27 -109 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

Pullup to -current

Revision 1.26 / (download) - annotate - [select for diffs], Thu Mar 29 16:04:26 2007 UTC (7 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.25: +9 -87 lines
Diff to previous 1.25 (colored)

Convert spinlocks & sleep/wakeup to newlock2 locking stuff.  Fix a
bunch of bugs.

* park structures are now always allocated from a pool instead of a
  mixed stack/malloc allocation
* get rid of the whole adjbuf concept, always just alloc the maximal
  amount of memory to satisfy a request
* little regression: don't allow interrupting wait from file system
  to userspace; this had problems already before, but now the problems
  really started to shine through.  I'll try to make this work again
  some day.
* fix bmap to return a sensible value in runp

Revision 1.20.2.3 / (download) - annotate - [select for diffs], Sat Mar 24 14:55:58 2007 UTC (7 years, 8 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.20.2.2: +38 -27 lines
Diff to previous 1.20.2.2 (colored)

sync with head.

Revision 1.25 / (download) - annotate - [select for diffs], Tue Mar 20 10:21:59 2007 UTC (7 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.24: +20 -24 lines
Diff to previous 1.24 (colored)

* rework the page cache interaction a bit: cache metadata in the
  kernel and flush it out all at once instead of continuous updating
* add support for delivering notifications to the file server about
  when a page was written to (but disabled by default for now).  the
  file server can use this to request flushing or invalidating the
  kernel page cache

Revision 1.24 / (download) - annotate - [select for diffs], Wed Mar 14 12:13:58 2007 UTC (7 years, 9 months ago) by pooka
Branch: MAIN
Branch point for: reinoud-bufcleanup
Changes since 1.23: +19 -4 lines
Diff to previous 1.23 (colored)

Support B_READ|B_ASYNC in strategy by calling biodone() directly
when the file server puts the result.

Revision 1.22.2.2 / (download) - annotate - [select for diffs], Tue Mar 13 17:50:48 2007 UTC (7 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.1: +4 -4 lines
Diff to previous 1.22.2.1 (colored)

Pull in the initial set of changes for the vmlocking branch.

Revision 1.22.2.1 / (download) - annotate - [select for diffs], Tue Mar 13 16:51:36 2007 UTC (7 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

Sync with head.

Revision 1.23 / (download) - annotate - [select for diffs], Mon Mar 12 18:18:32 2007 UTC (7 years, 9 months ago) by ad
Branch: MAIN
Branch point for: mjf-ufs-trans
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

Pass an ipl argument to pool_init/POOL_INIT to be used when initializing
the pool's lock.

Revision 1.20.2.2 / (download) - annotate - [select for diffs], Mon Mar 12 05:58:12 2007 UTC (7 years, 9 months ago) by rmind
Branch: yamt-idlelwp
Changes since 1.20.2.1: +33 -4 lines
Diff to previous 1.20.2.1 (colored)

Sync with HEAD.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Feb 27 23:43:23 2007 UTC (7 years, 9 months ago) by pooka
Branch: MAIN
Branch point for: vmlocking
Changes since 1.21: +33 -4 lines
Diff to previous 1.21 (colored)

Make wait for the user file server PCATCHable.  This makes it
possible to recover the system by just killing processes in case
a file server manages to recurse into itself either by fault of
file server implementation or by pilot error.  The downside is that
the code is extremely hard to follow and practically screams out
for newlock2 (in addition to screaming "bug here").  The whole
PCATCH nonsense and induced megacomplexity can hopefully be avoided
in the future by tweaking other parts of the implementation.

Revision 1.20.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:54:13 2007 UTC (7 years, 9 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.20: +3 -2 lines
Diff to previous 1.20 (colored)

- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.13.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:10:57 2007 UTC (7 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13.2.2: +95 -30 lines
Diff to previous 1.13.2.2 (colored)

sync with head.

Revision 1.21 / (download) - annotate - [select for diffs], Tue Feb 20 16:21:04 2007 UTC (7 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: ad-audiomp-base, ad-audiomp
Changes since 1.20: +3 -2 lines
Diff to previous 1.20 (colored)

Call genfs_node_destroy() where appropriate.

Revision 1.20 / (download) - annotate - [select for diffs], Fri Feb 16 16:37:55 2007 UTC (7 years, 10 months ago) by pooka
Branch: MAIN
Branch point for: yamt-idlelwp
Changes since 1.19: +25 -7 lines
Diff to previous 1.19 (colored)

Check against root node cookie when fetching a new vnode and invoke
VFS_ROOT() if the cookies match.  Without this fix, if the root
vnode was reclaimed, doing lookups for dotdot from the root vnode
was possible.  In practice this occured only through getcwd.

Revision 1.19 / (download) - annotate - [select for diffs], Thu Feb 15 12:16:00 2007 UTC (7 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored)

Hide the debug prints behind PUFFSDEBUG instead of DEBUG.  Make the
latter define the former.

Revision 1.9.2.4 / (download) - annotate - [select for diffs], Thu Feb 1 08:48:33 2007 UTC (7 years, 10 months ago) by ad
Branch: newlock2
Changes since 1.9.2.3: +65 -23 lines
Diff to previous 1.9.2.3 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored)

Sync with head.

Revision 1.18 / (download) - annotate - [select for diffs], Fri Jan 26 22:59:49 2007 UTC (7 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: post-newlock2-merge, newlock2-nbase, newlock2-base
Changes since 1.17: +4 -6 lines
Diff to previous 1.17 (colored)

Initial attempt at suspend/snapshot support for userspace file
servers.  This is still pretty much on the level "if it breaks ...".
It should work for single-threaded servers which handle one operation
from start to finish in one go.  Also, it does not yet totally
correctly synchronize metadata and data in some cases.  So needless
to say, it needs improvement, but it is possible that will have to
wait for some lock revampage.

Revision 1.17 / (download) - annotate - [select for diffs], Thu Jan 25 17:43:56 2007 UTC (7 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.16: +8 -7 lines
Diff to previous 1.16 (colored)

don't hold spinlocks (except vnode interlock) when doing vget()

Revision 1.16 / (download) - annotate - [select for diffs], Mon Jan 15 23:29:08 2007 UTC (7 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.15: +24 -10 lines
Diff to previous 1.15 (colored)

Store puffs_node's on lists hashed with the cookie value instead
of just one flat list.

Revision 1.15 / (download) - annotate - [select for diffs], Mon Jan 15 20:40:29 2007 UTC (7 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.14: +38 -9 lines
Diff to previous 1.14 (colored)

* do not accept the directory cookie as the result of a lookup (otherwise
  we'd be locking against ourselves)
* do not accept duplicate cookies when creating new nodes

Revision 1.9.2.3 / (download) - annotate - [select for diffs], Fri Jan 12 01:04:05 2007 UTC (7 years, 11 months ago) by ad
Branch: newlock2
Changes since 1.9.2.2: +78 -19 lines
Diff to previous 1.9.2.2 (colored) to branchpoint 1.9 (colored)

Sync with head.

Revision 1.14 / (download) - annotate - [select for diffs], Tue Jan 9 18:14:31 2007 UTC (7 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.13: +14 -10 lines
Diff to previous 1.13 (colored)

Introduce flush operations, which the fs server can use to control
kernel caching.  Currently supported are only flushing the name
cache for a directory or flushing the name cache for the entire fs.

Also, get rid of PNODE_INACTIVE status, since it was racy and
essentially didn't work.  All this on top of being useless in the
first place ....

Revision 1.13.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:50:01 2006 UTC (7 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13.2.1: +430 -0 lines
Diff to previous 1.13.2.1 (colored)

sync with head.

Revision 1.13.2.1, Sat Dec 30 01:29:03 2006 UTC (7 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13: +0 -430 lines
FILE REMOVED

file puffs_subr.c was added on branch yamt-lazymbuf on 2006-12-30 20:50:01 +0000

Revision 1.13 / (download) - annotate - [select for diffs], Sat Dec 30 01:29:03 2006 UTC (7 years, 11 months ago) by pooka
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.12: +6 -2 lines
Diff to previous 1.12 (colored)

* use PUFFS_KFLAG_NOCACHE to also signal that we don't want the namecache
* enter files into the namecache immediately when new nodes are created
  (if it's a caching mount, of course)

Revision 1.12 / (download) - annotate - [select for diffs], Fri Dec 29 15:38:37 2006 UTC (7 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.11: +10 -10 lines
Diff to previous 1.11 (colored)

rename the kernel-provided componentname to puffs_kcn; libpuffs now
provides puffs_cn built on top of it

Revision 1.11.2.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:18:38 2006 UTC (8 years ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.11.2.1: +426 -0 lines
Diff to previous 1.11.2.1 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored)

sync with head.

Revision 1.11.2.1, Tue Dec 5 23:41:24 2006 UTC (8 years ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.11: +0 -426 lines
FILE REMOVED

file puffs_subr.c was added on branch yamt-splraiseipl on 2006-12-10 07:18:38 +0000

Revision 1.11 / (download) - annotate - [select for diffs], Tue Dec 5 23:41:24 2006 UTC (8 years ago) by pooka
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3
Branch point for: yamt-splraiseipl
Changes since 1.10: +37 -2 lines
Diff to previous 1.10 (colored)

shuffle functions around a bit: move the transport (/dev/puffs) to
a different file from the messaging (request contents).  no functional
change

Revision 1.10 / (download) - annotate - [select for diffs], Tue Dec 5 23:03:28 2006 UTC (8 years ago) by pooka
Branch: MAIN
Changes since 1.9: +6 -2 lines
Diff to previous 1.9 (colored)

Allow multiple requests to be transferred in each GET/PUTOP.  For
a single request, the performance is still the same.

Revision 1.9.2.2 / (download) - annotate - [select for diffs], Sat Nov 18 21:39:20 2006 UTC (8 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.9.2.1: +375 -0 lines
Diff to previous 1.9.2.1 (colored) to branchpoint 1.9 (colored)

Sync with head.

Revision 1.9.2.1, Sat Nov 18 08:18:24 2006 UTC (8 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.9: +0 -387 lines
FILE REMOVED

file puffs_subr.c was added on branch newlock2 on 2006-11-18 21:39:20 +0000

Revision 1.9 / (download) - annotate - [select for diffs], Sat Nov 18 08:18:24 2006 UTC (8 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm
Branch point for: newlock2
Changes since 1.8: +14 -2 lines
Diff to previous 1.8 (colored)

As a first generation best-effort hack, use NOCACHE to mean "file
size can change without the kernel knowing" and therefore query
the file size before invoking read or write operations.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Nov 16 01:33:37 2006 UTC (8 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.7: +4 -4 lines
Diff to previous 1.7 (colored)

__unused removal on arguments; approved by core.

Revision 1.7 / (download) - annotate - [select for diffs], Tue Nov 7 22:10:18 2006 UTC (8 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.6: +81 -5 lines
Diff to previous 1.6 (colored)

attach to genfs & support page cache.  most noticeable effect is
mmap and therefore execution of binaries starting to work, some
speed improvements with large file I/O also.  caching semantics
and error case handling most likely need revisiting.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Oct 27 19:54:34 2006 UTC (8 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.5: +3 -5 lines
Diff to previous 1.5 (colored)

fix checkalias true branch: don't unlock or lock twice

Revision 1.5 / (download) - annotate - [select for diffs], Fri Oct 27 12:25:16 2006 UTC (8 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.4: +13 -2 lines
Diff to previous 1.4 (colored)

support fifos

Revision 1.4 / (download) - annotate - [select for diffs], Thu Oct 26 22:52:47 2006 UTC (8 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.3: +49 -7 lines
Diff to previous 1.3 (colored)

support specfs

Revision 1.3 / (download) - annotate - [select for diffs], Thu Oct 26 13:42:21 2006 UTC (8 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.2: +5 -10 lines
Diff to previous 1.2 (colored)

Fix operations creating new nodes to honor the vnode locking protocol
if the userspace server returns an error.  Fixes lockups if any
of the following operations failed: create, mknod, mkdir, symlink

Revision 1.2 / (download) - annotate - [select for diffs], Mon Oct 23 23:32:57 2006 UTC (8 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.1: +44 -7 lines
Diff to previous 1.1 (colored)

Apply a little eggwash to a deadlock condition where calling
getnewvnode() while holding on to any vnode lock deadlocks the
system if the file system is being forcibly unmounted.

Normal file systems don't trigger this problem because of two reaons:
1) they don't hold on to vnode locks while idling who-knows-where, so
   the race doesn't trigger
2) they aren't usually unmounted with FORCE; puffs is, in case "someone"
   manages to make a crashy userspace server

Nevertheless, a real solution is slowly being braised.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Oct 22 22:43:23 2006 UTC (8 years, 1 month ago) by pooka
Branch: MAIN

kernel portion of puffs - the Pass-to-Userspace Framework File System.
It contains the VFS attachment and userspace message-passing interface.

This work was initially started and completed for Google SoC 2005
and tweaked to work a bit better in the past few weeks.  While
being far from complete, it is functional enough to be able and
stable to host a fairly general-purpose in-memory file system in
userspace.  Even so, puffs should be considered experimental and
no binary compatibility for interfaces or crash-freedom or zero
security implications should be relied upon just yet.

The GSoC project was mentored by William Studenmund and the final
review for the code was done by Christos.

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>