The NetBSD Project

CVS log for src/sys/fs/puffs/puffs_msgif.h

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.80.14.1 / (download) - annotate - [select for diffs], Tue Aug 26 23:15:12 2014 UTC (5 days, 22 hours ago) by riz
Branch: netbsd-7
Changes since 1.80: +5 -1 lines
Diff to previous 1.80 (colored) next main 1.81 (colored)

Pull up following revision(s) (requested by manu in ticket #52):
	sys/fs/puffs/puffs_msgif.h: revision 1.81
	sys/fs/puffs/puffs_sys.h: revision 1.85
	sys/fs/puffs/puffs_vnops.c: revision 1.183
Add a oflags input field to open requests so that the filesystem can pass
back information about the file. Implement PUFFS_OPEN_IO_DIRECT, which
will force direct IO (bypassing page cache) for the file.

Revision 1.81 / (download) - annotate - [select for diffs], Sat Aug 16 16:19:41 2014 UTC (2 weeks, 2 days ago) by manu
Branch: MAIN
CVS Tags: HEAD
Changes since 1.80: +5 -1 lines
Diff to previous 1.80 (colored)

Add a oflags input field to open requests so that the filesystem can pass
back information about the file. Implement PUFFS_OPEN_IO_DIRECT, which
will force direct IO (bypassing page cache) for the file.

Revision 1.77.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:22:24 2012 UTC (22 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.77.2.1: +14 -11 lines
Diff to previous 1.77.2.1 (colored) to branchpoint 1.77 (colored) next main 1.78 (colored)

sync with head

Revision 1.77.8.2 / (download) - annotate - [select for diffs], Sun Aug 12 13:13:20 2012 UTC (2 years ago) by martin
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, 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-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, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.77.8.1: +13 -10 lines
Diff to previous 1.77.8.1 (colored) to branchpoint 1.77 (colored) next main 1.78 (colored)

Pull up following revision(s) (requested by manu in ticket #438):
	lib/libperfuse/perfuse_priv.h: revision 1.31
	sys/fs/puffs/puffs_msgif.h: revision 1.80
	sys/fs/puffs/puffs_vnops.c: revision 1.171
	lib/libpuffs/puffs_ops.3: revision 1.31
	sys/fs/puffs/puffs_vnops.c: revision 1.172
	sys/fs/puffs/puffs_vnops.c: revision 1.173
	sys/fs/puffs/puffs_vnops.c: revision 1.174
	usr.sbin/perfused/perfused.c: revision 1.24
	sys/fs/puffs/puffs_sys.h: revision 1.80
	sys/fs/puffs/puffs_sys.h: revision 1.81
	sys/fs/puffs/puffs_sys.h: revision 1.82
	lib/libperfuse/subr.c: revision 1.19
	lib/libperfuse/perfuse.c: revision 1.30
	sys/fs/puffs/puffs_msgif.c: revision 1.90
	sys/fs/puffs/puffs_msgif.c: revision 1.91
	sys/fs/puffs/puffs_msgif.c: revision 1.92
	lib/libperfuse/ops.c: revision 1.59
	lib/libpuffs/puffs.3: revision 1.53
	lib/libperfuse/debug.c: revision 1.12
	lib/libpuffs/puffs.3: revision 1.54
	sys/fs/puffs/puffs_vnops.c: revision 1.167
	sys/fs/puffs/puffs_msgif.h: revision 1.79
	usr.sbin/perfused/msg.c: revision 1.21
	sys/fs/puffs/puffs_vfsops.c: revision 1.102
	sys/fs/puffs/puffs_vfsops.c: revision 1.103
	sys/fs/puffs/puffs_vfsops.c: revision 1.105
	lib/libpuffs/puffs.h: revision 1.123
	lib/libperfuse/perfuse_if.h: revision 1.20
	lib/libperfuse/perfuse.c: revision 1.29
	lib/libpuffs/dispatcher.c: revision 1.42
	lib/libpuffs/dispatcher.c: revision 1.43
- Fix same vnodes associated with multiple cookies
The scheme used to retreive known nodes on lookup was flawed, as it only
used parent and name. This produced a different cookie for the same file
if it was renamed, when looking up ../ or when dealing with multiple files
associated with the same name through link(2).
We therefore abandon the use of node name and introduce hashed lists of
inodes. This causes a huge rewrite of reclaim code, which do not attempt
to keep parents allocated until all their children are reclaimed
- Fix race conditions in reclaim
There are a few situations where we issue multiple FUSE operations for
a PUFFS operation. On reclaim, we therefore have to wait for all FUSE
operation to complete, not just the current exchanges. We do this by
introducing node reference count with node_ref() and node_rele().
- Detect data loss caused by FAF
VOP_PUTPAGES causes FAF writes where the kernel does not check the
operation result. At least issue a warning on error.
- Enjoy FAF shortcut on setattr
No need to wait for the result if the kernel does not want it. There is
however an exception for setattr that touch the size, we need to wait
for completion because we have other operations queued for after the
resize.
- Fix fchmod() on write-open file
fchmod() on a node open with write privilege will send setattr with both mode
and size set. This confuses some FUSE filesystem. Therefore we send two FUSE
operations, one for mode, and one for size.
- Remove node TTL handling for netbsd-5 for simplicity sake. The code
still builds on netbsd-5 but does not have the node TTL feature anymore.
It works fine with kernel support on netbsd-6.
- Improve PUFFS_KFLAG_CACHE_FS_TTL by reclaiming older inactive nodes.
The normal kernel behavior is to retain inactive nodes in the freelist
until it runs out of vnodes. This has some merit for local filesystems,
where the cost of an allocation is about the same as the cost of a
lookup. But that situation is not true for distributed filesystems.
On the other hand, keeping inactive nodes for a long time hold memory
in the file server process, and when the kernel runs out of vnodes, it
produce reclaim avalanches that increase lattency for other operations.
We do not reclaim inactive vnodes immediatly either, as they may be
looked up again shortly. Instead we introduce a grace time and we
reclaim nodes that have been inactive beyond the grace time.
- Fix lookup/reclaim race condition.
The above improvement undercovered a race condition between lookup and
reclaim. If we reclaimed a vnode associated with a userland cookie while
a lookup returning that same cookiewas inprogress, then the kernel ends
up with a vnode associated with a cookie that has been reclaimed in
userland. Next operation on the cookie will crash (or at least confuse)
the filesystem.
We fix this by introducing a lookup count in kernel and userland. On
reclaim, the kernel sends the count, which enable userland to detect
situation where it initiated a lookup that is not completed in kernel.
In such a situation, the reclaim must be ignored, as the node is about
to be looked up again.
Fix hang unmount bug introduced by last commit.
We introduced a slow queue for delayed reclaims, while the existing
queue for unmount, flush and exist has been renamed fast queue. Both
queues had timestamp for when an operation should be done, but it was
useless for the fast queue, which is always used to run an operation
ASAP. And the timestamp test had an error that turned ASAP into "at next
tick", but nobody what there to wake the thread at next tick, hence
the hang. The fix is to remove the useless and buggy timestamp test for
fast queue.
Rename slow sopreq queue into node sopreq queue, to refet the fact that
is only intended for postponed node reclaims.
When purging the node sopreq queue, do not call puffs_msg_sendresp(), as
it makes no sense.
Fix race condition between (create|mknod|mkdir|symlino) and reclaim, just
like we did it between lookup and reclaim.
Missing bit in previous commit (prevent race between create|mknod|mkdir|symlink
and reclaim)
Bump date for previous.
New sentence, new line; remove trailing whitespace; fix typos;
punctuation nits.
Add PUFFS_KFLAG_CACHE_DOTDOT so that vnodes hold a reference on their
parent, keeping them active, and allowing to lookup .. without sending
a request to the filesystem.
Enable the featuure for perfused, as this is how FUSE works.
Missing bit in previous commit (PUFFS_KFLAG_CACHE_DOTDOT option to avoid
looking up ..)

Revision 1.80 / (download) - annotate - [select for diffs], Fri Aug 10 16:49:35 2012 UTC (2 years ago) by manu
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, 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, netbsd-7-base, khorben-n900, agc-symver-base, agc-symver
Branch point for: netbsd-7
Changes since 1.79: +12 -11 lines
Diff to previous 1.79 (colored)

Add PUFFS_KFLAG_CACHE_DOTDOT so that vnodes hold a reference on their
parent, keeping them active, and allowing to lookup .. without sending
a request to the filesystem.

Enable the featuure for perfused, as this is how FUSE works.

Revision 1.79 / (download) - annotate - [select for diffs], Sat Jul 21 05:17:10 2012 UTC (2 years, 1 month ago) by manu
Branch: MAIN
Changes since 1.78: +3 -1 lines
Diff to previous 1.78 (colored)

- Improve PUFFS_KFLAG_CACHE_FS_TTL by reclaiming older inactive nodes.

The normal kernel behavior is to retain inactive nodes in the freelist
until it runs out of vnodes. This has some merit for local filesystems,
where the cost of an allocation is about the same as the cost of a
lookup. But that situation is not true for distributed filesystems.
On the other hand, keeping inactive nodes for a long time hold memory
in the file server process, and when the kernel runs out of vnodes, it
produce reclaim avalanches that increase lattency for other operations.

We do not reclaim inactive vnodes immediatly either, as they may be
looked up again shortly. Instead we introduce a grace time and we
reclaim nodes that have been inactive beyond the grace time.

- Fix lookup/reclaim race condition.

The above improvement undercovered a race condition between lookup and
reclaim. If we reclaimed a vnode associated with a userland cookie while
a lookup returning that same cookiewas inprogress, then the kernel ends
up with a vnode associated with a cookie that has been reclaimed in
userland. Next operation on the cookie will crash (or at least confuse)
the filesystem.

We fix this by introducing a lookup count in kernel and userland. On
reclaim, the kernel sends the count, which enable userland to detect
situation where it initiated a lookup that is not completed in kernel.
In such a situation, the reclaim must be ignored, as the node is about
to be looked up again.

Revision 1.77.6.1 / (download) - annotate - [select for diffs], Sun Apr 29 23:05:03 2012 UTC (2 years, 4 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.77: +21 -2 lines
Diff to previous 1.77 (colored) next main 1.78 (colored)

sync to latest -current.

Revision 1.77.8.1 / (download) - annotate - [select for diffs], Mon Apr 23 16:49:00 2012 UTC (2 years, 4 months ago) by riz
Branch: netbsd-6
Changes since 1.77: +21 -2 lines
Diff to previous 1.77 (colored)

Pull up following revision(s) (requested by manu in ticket #195):
	lib/libskey/skeysubr.c: revision 1.27
	lib/libkvm/kvm_getloadavg.c: revision 1.11
	lib/libwrap/update.c: revision 1.9
	lib/liby/yyerror.c: revision 1.9
	lib/libpuffs/puffs_ops.3: revision 1.30
	lib/libwrap/misc.c: revision 1.10
	lib/libwrap/hosts_access.c: revision 1.20
	lib/libpuffs/pnode.c: revision 1.11
	lib/libperfuse/subr.c: revision 1.17
	lib/libpuffs/pnode.c: revision 1.12
	lib/libperfuse/subr.c: revision 1.18
	lib/libwrap/options.c: revision 1.15
	lib/libwrap/fix_options.c: revision 1.11
	lib/libperfuse/ops.c: revision 1.52
	lib/libperfuse/ops.c: revision 1.53
	lib/libperfuse/ops.c: revision 1.54
	lib/libwrap/hosts_ctl.c: revision 1.5
	lib/libintl/gettext.c: revision 1.27
	lib/libwrap/shell_cmd.c: revision 1.6
	lib/libpuffs/dispatcher.c: revision 1.39
	lib/libperfuse/perfuse_priv.h: revision 1.27
	lib/libwrap/socket.c: revision 1.19
	lib/libpuffs/puffs.3: revision 1.50
	lib/libperfuse/perfuse_priv.h: revision 1.28
	lib/libpuffs/puffs_priv.h: revision 1.45
	lib/libpuffs/puffs.3: revision 1.51
	lib/libperfuse/perfuse_priv.h: revision 1.29
	lib/libwrap/percent_x.c: revision 1.5
	lib/libpuffs/puffs.3: revision 1.52
	lib/libperfuse/debug.c: revision 1.11
	sys/fs/puffs/puffs_vnops.c: revision 1.165
	lib/libwrap/tcpd.h: revision 1.13
	sys/fs/puffs/puffs_vnops.c: revision 1.166
	lib/libwrap/eval.c: revision 1.7
	sys/fs/puffs/puffs_msgif.h: revision 1.78
	sys/fs/puffs/puffs_vfsops.c: revision 1.101
	lib/libwrap/rfc931.c: revision 1.9
	lib/libwrap/clean_exit.c: revision 1.5
	lib/libpuffs/puffs.h: revision 1.120
	lib/libc/stdlib/jemalloc.c: revision 1.27
	lib/librmt/rmtlib.c: revision 1.26
	lib/libpuffs/puffs.h: revision 1.121
	sys/fs/puffs/puffs_sys.h: revision 1.79
	lib/librumpclient/rumpclient.c: revision 1.48
	lib/libwrap/refuse.c: revision 1.5
	lib/libperfuse/perfuse.c: revision 1.26
	lib/libperfuse/perfuse.c: revision 1.27
	tests/fs/puffs/t_fuzz.c: revision 1.5
	lib/libperfuse/perfuse.c: revision 1.28
	lib/libpuffs/dispatcher.c: revision 1.40
	sys/fs/puffs/puffs_node.c: revision 1.24
	lib/libwrap/diag.c: revision 1.9
	lib/libintl/textdomain.c: revision 1.13
Use C89 function definition
Add name and atttribute cache with filesytem provided TTL.
lookup, create, mknod, mkdir, symlink, getattr and setattr messages
have been extended so that attributes and their TTL can be provided
by the filesytem. lookup, create, mknod, mkdir, and symlink messages
are also extended so that the filesystem can provide name TTL.
Add PUFFS_KFLAG_CACHE_FS_TTL flag to puffs_init(3) to use name and
attribute cache with filesystem provided TTL.
lookup, create, mknod, mkdir, symlink, getattr and setattr messages
have been extended so that attributes and their TTL can be provided
by the filesytem. lookup, create, mknod, mkdir, and symlink messages
are also extended so that the filesystem can provide name TTL.
The filesystem updates attributes and TTL using
puffs_pn_getvap(3), puffs_pn_getvattl(3), and puffs_pn_getcnttl(3)
Use new PUFFS_KFLAG_CACHE_FS_TTL option to puffs_init(3) so that
FUSE TTL on name and attributes are used. This save many PUFFS
operations and improves performances.
PUFFS_KFLAG_CACHE_FS_TTL is #ifdef'ed in many places for now so that
libperfuse can still be used on netbsd-5.
Split file system.
Comma fixes.
Remove dangling "and".
Bump date for previous.
- Makesure update_va does not change vnode size when it should not. For
instance when doing a fault-issued VOP_GETPAGES within VOP_WRITE, changing
size leads to panic: genfs_getpages: past eof.
-Handle ticks wrap around for vnode name andattribute timeout
- When using PUFFS_KFLAG_CACHE_FS_TTL, do not use puffs_node to carry
  attribute and TTL fora newly created node. Instead extend puffs_newinfo
  and add puffs_newinfo_setva() and puffs_newinfo_setttl()
- Remove node_mk_common_final in libperfuse. It used to set uid/gid for
  a newly created vnode but has been made redundant along time ago since
  uid and gid are properly set in FUSE header.
- In libperfuse, check for corner case where opc = 0 on INACTIVE and   RECLAIM
(how is it possible? Check for it to avoid a crash anyway)
- In libperfuse, make sure we unlimit RLIMIT_AS and RLIMIT_DATA so that
  we do notrun out of memory because the kernel is lazy at reclaiming vnodes.
- In libperfuse, cleanup style of perfuse_destroy_pn()
Do not set PUFFS_KFLAG_CACHE_FS_TTL for PUFFS tests

Revision 1.77.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:19 2012 UTC (2 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.77: +21 -2 lines
Diff to previous 1.77 (colored)

sync with head

Revision 1.78 / (download) - annotate - [select for diffs], Sun Apr 8 15:04:41 2012 UTC (2 years, 4 months ago) by manu
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base10
Changes since 1.77: +21 -2 lines
Diff to previous 1.77 (colored)

Add name and atttribute cache with filesytem provided TTL.
lookup, create, mknod, mkdir, symlink, getattr and setattr messages
have been extended so that attributes and their TTL can be provided
by the filesytem. lookup, create, mknod, mkdir, and symlink messages
are also extended so that the filesystem can provide name TTL.

Revision 1.77 / (download) - annotate - [select for diffs], Tue Sep 27 01:48:57 2011 UTC (2 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, netbsd-6, jmcneill-usbmp
Changes since 1.76: +2 -2 lines
Diff to previous 1.76 (colored)

don't get affected by the NAME_MAX bump. Use the same constant as the
rest of the extrattr code.

Revision 1.65.20.3 / (download) - annotate - [select for diffs], Sun Jul 17 15:36:03 2011 UTC (3 years, 1 month ago) by riz
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2
Changes since 1.65.20.2: +73 -5 lines
Diff to previous 1.65.20.2 (colored) to branchpoint 1.65 (colored) next main 1.66 (colored)

Pull up following revision(s) (requested by manu in ticket #1645):
lib/libc/sys/Makefile.inc                       1.207 via patch
lib/libc/sys/extattr_get_file.2                 patch
lib/libpuffs/dispatcher.c                       1.34,1.36 via patch
lib/libpuffs/puffs.c                            1.107 via patch
lib/libpuffs/puffs.h                            1.115,1.118 via patch
sys/fs/puffs/puffs_msgif.h                      1.71,1.76 via patch
sys/fs/puffs/puffs_vfsops.c                     1.88 via patch
sys/fs/puffs/puffs_vnops.c                      1.145,1.154 via patch
sys/kern/vfs_xattr.c                            1.24-1.27 via patch
sys/kern/vnode_if.c                             1.87 via patch
sys/sys/Makefile                                1.133 via patch
sys/sys/extattr.h                               1.6 via patch
sys/sys/vnode_if.h                              1.81 via patch
sys/ufs/ffs/ffs_vnops.c                         patch
sys/ufs/ufs/ufs_extattr.c                       1.31,1.34 via patch

* support extended attributes
* bump major due to structure growth
* add some spare space
* remove ABI sillyness
Support extended attributes.
Fix multiple non compliances in our Linux-like extattr API, and make it
public so that it can be used.
Improve a bit listxattr(2). It attemps to list both system and user
extended attributes, and it faled if calling user did not have privilege
for reading system EA. Now we just lise user EA and skip system EA in
reading them is not allowed.
Fix bug introduced in previous commuit: Do not vrele() a vnode we did not
obtained.
Improve UFS1 extended attributes usability
- autocreate attribute backing file for new attributes
- autoload attributes when issuing extattrctl start
- when autoloading attributes, do not display garbage warning when looking
up entries that got ENOENT
Add a flag to VOP_LISTEXTATTR(9) so that the vnode interface can tell the
filesystem in which format extended attribute shall be listed.
There are currently two formats:
- NUL-terminated strings, used for listxattr(2), this is the default.
- one byte length-pprefixed, non NUL-terminated strings, used for
  extattr_list_file(2), which is obtanined by setting the
  EXTATTR_LIST_PREFIXLEN flag to VOP_LISTEXTATTR(9)
This approach avoid the need for converting the list back and forth, except
in libperfuse, since FUSE uses NUL-terminated strings, and the kernel may
have requested EXTATTR_LIST_PREFIXLEN.

Revision 1.76 / (download) - annotate - [select for diffs], Mon Jul 4 08:07:30 2011 UTC (3 years, 1 month ago) by manu
Branch: MAIN
Changes since 1.75: +2 -1 lines
Diff to previous 1.75 (colored)

Add a flag to VOP_LISTEXTATTR(9) so that the vnode interface can tell the
filesystem in which format extended attribute shall be listed.

There are currently two formats:
- NUL-terminated strings, used for listxattr(2), this is the default.
- one byte length-pprefixed, non NUL-terminated strings, used for
  extattr_list_file(2), which is obtanined by setting the
  EXTATTR_LIST_PREFIXLEN flag to VOP_LISTEXTATTR(9)

This approach avoid the need for converting the list back and forth, except
in libperfuse, since FUSE uses NUL-terminated strings, and the kernel may
have requested EXTATTR_LIST_PREFIXLEN.

Revision 1.69.4.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:55:07 2011 UTC (3 years, 5 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.69.4.2: +4 -2 lines
Diff to previous 1.69.4.2 (colored) to branchpoint 1.69 (colored) next main 1.70 (colored)

sync with head

Revision 1.69.2.1 / (download) - annotate - [select for diffs], Tue Aug 17 06:47:19 2010 UTC (4 years ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.69: +93 -26 lines
Diff to previous 1.69 (colored) next main 1.70 (colored)

Sync with HEAD.

Revision 1.65.10.3 / (download) - annotate - [select for diffs], Wed Aug 11 22:54:35 2010 UTC (4 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.65.10.2: +93 -26 lines
Diff to previous 1.65.10.2 (colored) to branchpoint 1.65 (colored) next main 1.66 (colored)

sync with head.

Revision 1.75 / (download) - annotate - [select for diffs], Tue Jul 6 13:47:47 2010 UTC (4 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, rmind-uvmplock-nbase, rmind-uvmplock-base, matt-mips64-premerge-20101231, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.74: +4 -2 lines
Diff to previous 1.74 (colored)

Add compat to enable running puffs in a 64bit time_t kernel against
a server which runs in 32bit time_t namespace.

Revision 1.69.4.2 / (download) - annotate - [select for diffs], Sat Jul 3 01:19:50 2010 UTC (4 years, 2 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.69.4.1: +2 -2 lines
Diff to previous 1.69.4.1 (colored) to branchpoint 1.69 (colored)

sync with head

Revision 1.74 / (download) - annotate - [select for diffs], Mon Jun 7 11:21:31 2010 UTC (4 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.73: +2 -2 lines
Diff to previous 1.73 (colored)

Make retval argument for pathconf a register_t to match VOP_PATHCONF.
This makes the size the same on 64bit archs.  Don't bother bumping
any version, since you'd have explicitly had to jump through some
hoops to use pathconf before.

Revision 1.69.4.1 / (download) - annotate - [select for diffs], Sun May 30 05:17:56 2010 UTC (4 years, 3 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.69: +91 -26 lines
Diff to previous 1.69 (colored)

sync with head

Revision 1.73 / (download) - annotate - [select for diffs], Fri May 21 11:29:42 2010 UTC (4 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.72: +2 -1 lines
Diff to previous 1.72 (colored)

add option string for no attribute cache
(foreseeing the odd event I might actually implement one some day)

Revision 1.72 / (download) - annotate - [select for diffs], Fri May 21 10:40:19 2010 UTC (4 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.71: +29 -32 lines
Diff to previous 1.71 (colored)

Since libpuffs needs a major bump for extattr support anyway, make
some changes to the user-kernel protocol.  Namely, try to be a
little more resilient some future changes.

Revision 1.71 / (download) - annotate - [select for diffs], Fri May 21 10:16:54 2010 UTC (4 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.70: +71 -4 lines
Diff to previous 1.70 (colored)

Support extended attributes.

Revision 1.70 / (download) - annotate - [select for diffs], Thu May 20 12:09:45 2010 UTC (4 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.69: +3 -3 lines
Diff to previous 1.69 (colored)

Fix typo.

Revision 1.65.26.1 / (download) - annotate - [select for diffs], Wed Apr 21 00:28:13 2010 UTC (4 years, 4 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-k15
Changes since 1.65: +8 -1 lines
Diff to previous 1.65 (colored) next main 1.66 (colored)

sync to netbsd-5

Revision 1.65.10.2 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:14 2010 UTC (4 years, 5 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.65.10.1: +10 -2 lines
Diff to previous 1.65.10.1 (colored) to branchpoint 1.65 (colored)

sync with head

Revision 1.69 / (download) - annotate - [select for diffs], Thu Jan 7 22:45:31 2010 UTC (4 years, 7 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base1, uebayasi-xip-base
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.68: +2 -1 lines
Diff to previous 1.68 (colored)

Add a PUFFS_UNMOUNT server->kernel request, which causes the kernel
to initiate self destruct, i.e. unmount(MNT_FORCE).  This, however,
is a semi-controlled self-destruct, since all caches are flushed
before the (possibly) violent unmount takes place.

Revision 1.65.20.2 / (download) - annotate - [select for diffs], Mon Dec 14 19:36:57 2009 UTC (4 years, 8 months ago) by sborrill
Branch: netbsd-5
CVS Tags: netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, matt-nb5-pq3-base, matt-nb5-pq3
Changes since 1.65.20.1: +2 -2 lines
Diff to previous 1.65.20.1 (colored) to branchpoint 1.65 (colored)

Revert previous version bump which should not have been in the supplied
patch. This maintains compatibility between 5.0 and 5.1 (at the cost of
needing userland libraries recompiled if one's been tracking netbsd-5).

Revision 1.65.20.1 / (download) - annotate - [select for diffs], Sun Oct 18 12:46:07 2009 UTC (4 years, 10 months ago) by sborrill
Branch: netbsd-5
Changes since 1.65: +9 -2 lines
Diff to previous 1.65 (colored)

Pull up the following revisions(s) (requested by pooka in ticket #1100):
	lib/libpuffs/dispatcher.c:	revision 1.33
	lib/libpuffs/puffs.c:	revision 1.99
	lib/libpuffs/puffs.h:	revision 1.111
	sys/fs/puffs/puffs_msgif.h:	revision 1.67 via patch
	sys/fs/puffs/puffs_vnops.c:	revision 1.136

Support VOP_ABORTOP() in puffs.

Revision 1.68 / (download) - annotate - [select for diffs], Sat Oct 17 23:22:04 2009 UTC (4 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: matt-premerge-20091211, jym-xensuspend-nbase
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored)

Bump protocol version once more to allow for previous to be pulled
to netbsd-5 (protocols are not compatible due to time_t/dev_t
change).

Revision 1.67 / (download) - annotate - [select for diffs], Sat Oct 17 23:16:05 2009 UTC (4 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.66: +9 -2 lines
Diff to previous 1.66 (colored)

Transmit VOP_ABORTOP() to the server.

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

sync with head.

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

Sync with HEAD.

Revision 1.65.6.1 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:17 2009 UTC (5 years, 7 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.65: +2 -2 lines
Diff to previous 1.65 (colored) next main 1.66 (colored)

Sync with HEAD.

Revision 1.66 / (download) - annotate - [select for diffs], Mon Jan 12 18:48:35 2009 UTC (5 years, 7 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, mjf-devfs2-base, jymxensuspend-base, jym-xensuspend-base, jym-xensuspend
Changes since 1.65: +2 -2 lines
Diff to previous 1.65 (colored)

Bump interface version number for the time_t/dev_t changes.

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

sync with HEAD

Revision 1.59.2.4 / (download) - annotate - [select for diffs], Mon Feb 18 21:06:39 2008 UTC (6 years, 6 months ago) by mjf
Branch: mjf-devfs
Changes since 1.59.2.3: +23 -15 lines
Diff to previous 1.59.2.3 (colored) to branchpoint 1.59 (colored) next main 1.60 (colored)

Sync with HEAD.

Revision 1.13.2.9 / (download) - annotate - [select for diffs], Mon Feb 4 09:23:58 2008 UTC (6 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13.2.8: +23 -15 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], Mon Jan 28 21:06:36 2008 UTC (6 years, 7 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, 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, nick-net80211-sync-base, nick-net80211-sync, netbsd-5-base, 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, mjf-devfs-base, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20091211, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-socklock-base1, ad-audiomp2-base, ad-audiomp2
Branch point for: yamt-nfs-mp, nick-hppapmap, netbsd-5, mjf-devfs2, matt-nb5-mips64
Changes since 1.64: +23 -15 lines
Diff to previous 1.64 (colored)

For code clarity typedef void *puffs_cookie_t.

No functional change.

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

sync with head

Revision 1.50.2.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:55:47 2008 UTC (6 years, 7 months ago) by matt
Branch: matt-armv6
Changes since 1.50.2.1: +15 -76 lines
Diff to previous 1.50.2.1 (colored) to branchpoint 1.50 (colored)

sync with HEAD

Revision 1.59.2.3 / (download) - annotate - [select for diffs], Thu Dec 27 00:45:46 2007 UTC (6 years, 8 months ago) by mjf
Branch: mjf-devfs
Changes since 1.59.2.2: +2 -21 lines
Diff to previous 1.59.2.2 (colored) to branchpoint 1.59 (colored)

Sync with HEAD.

Revision 1.61.2.2 / (download) - annotate - [select for diffs], Wed Dec 26 21:39:32 2007 UTC (6 years, 8 months ago) by ad
Branch: vmlocking2
Changes since 1.61.2.1: +2 -21 lines
Diff to previous 1.61.2.1 (colored) to branchpoint 1.61 (colored) next main 1.62 (colored)

Sync with head.

Revision 1.47.4.8 / (download) - annotate - [select for diffs], Sun Dec 9 19:38:10 2007 UTC (6 years, 8 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.47.4.7: +10 -27 lines
Diff to previous 1.47.4.7 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored)

Sync with HEAD.

Revision 1.64 / (download) - annotate - [select for diffs], Sat Dec 8 19:57:03 2007 UTC (6 years, 8 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, matt-armv6-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386
Changes since 1.63: +2 -21 lines
Diff to previous 1.63 (colored)

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

Revision 1.59.2.2 / (download) - annotate - [select for diffs], Sat Dec 8 18:20:18 2007 UTC (6 years, 8 months ago) by mjf
Branch: mjf-devfs
Changes since 1.59.2.1: +10 -22 lines
Diff to previous 1.59.2.1 (colored) to branchpoint 1.59 (colored)

Sync with HEAD.

Revision 1.61.2.1 / (download) - annotate - [select for diffs], Sat Dec 8 17:57:38 2007 UTC (6 years, 8 months ago) by ad
Branch: vmlocking2
Changes since 1.61: +10 -8 lines
Diff to previous 1.61 (colored)

Sync with head.

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

sync with head

Revision 1.63 / (download) - annotate - [select for diffs], Wed Dec 5 12:11:56 2007 UTC (6 years, 8 months ago) by pooka
Branch: MAIN
CVS Tags: vmlocking2-base2, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base
Changes since 1.62: +2 -2 lines
Diff to previous 1.62 (colored)

Send a response message for flush operations from the kernel instead
of abusing the return value of write(2).

Revision 1.62 / (download) - annotate - [select for diffs], Tue Dec 4 19:43:42 2007 UTC (6 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.61: +9 -7 lines
Diff to previous 1.61 (colored)

Add a bit to differentiate if a message is a request or a response.

Revision 1.47.4.7 / (download) - annotate - [select for diffs], Tue Nov 27 19:37:48 2007 UTC (6 years, 9 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.47.4.6: +2 -16 lines
Diff to previous 1.47.4.6 (colored) to branchpoint 1.47 (colored)

Sync with HEAD. amd64 Xen support needs testing.

Revision 1.61 / (download) - annotate - [select for diffs], Tue Nov 27 11:31:17 2007 UTC (6 years, 9 months ago) by pooka
Branch: MAIN
CVS Tags: vmlocking2-base1, vmlocking-nbase
Branch point for: vmlocking2
Changes since 1.60: +2 -16 lines
Diff to previous 1.60 (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.59.2.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:48:28 2007 UTC (6 years, 9 months ago) by mjf
Branch: mjf-devfs
Changes since 1.59: +8 -38 lines
Diff to previous 1.59 (colored)

Sync with HEAD.

Revision 1.13.2.6 / (download) - annotate - [select for diffs], Thu Nov 15 11:44:35 2007 UTC (6 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13.2.5: +8 -38 lines
Diff to previous 1.13.2.5 (colored)

sync with head.

Revision 1.47.4.6 / (download) - annotate - [select for diffs], Wed Nov 14 19:04:37 2007 UTC (6 years, 9 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.47.4.5: +8 -38 lines
Diff to previous 1.47.4.5 (colored) to branchpoint 1.47 (colored)

Sync with HEAD.

Revision 1.57.2.2 / (download) - annotate - [select for diffs], Tue Nov 13 16:01:44 2007 UTC (6 years, 9 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.57.2.1: +7 -37 lines
Diff to previous 1.57.2.1 (colored) to branchpoint 1.57 (colored) next main 1.58 (colored)

Sync with HEAD

Revision 1.60 / (download) - annotate - [select for diffs], Mon Nov 12 16:39:35 2007 UTC (6 years, 9 months ago) by pooka
Branch: MAIN
CVS Tags: bouyer-xenamd64-base2, bouyer-xenamd64-base
Changes since 1.59: +8 -38 lines
Diff to previous 1.59 (colored)

* split the putter header into a kernel version and a userland version
  + install latter to /usr/include/dev/putter
* remove last dependencies to puffs from putter, it's completely
  independent now

Revision 1.50.2.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:31:14 2007 UTC (6 years, 9 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.50: +115 -196 lines
Diff to previous 1.50 (colored)

sync with HEAD

Revision 1.13.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:35:10 2007 UTC (6 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13.2.4: +115 -196 lines
Diff to previous 1.13.2.4 (colored)

sync with head.

Revision 1.47.4.5 / (download) - annotate - [select for diffs], Fri Oct 26 15:48:18 2007 UTC (6 years, 10 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.47.4.4: +93 -171 lines
Diff to previous 1.47.4.4 (colored) to branchpoint 1.47 (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.57.2.1 / (download) - annotate - [select for diffs], Thu Oct 25 22:39:57 2007 UTC (6 years, 10 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.57: +7 -2 lines
Diff to previous 1.57 (colored)

Sync with HEAD.

Revision 1.59 / (download) - annotate - [select for diffs], Sun Oct 21 14:28:05 2007 UTC (6 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: jmcneill-base
Branch point for: mjf-devfs
Changes since 1.58: +6 -2 lines
Diff to previous 1.58 (colored)

Always provide caller information from the kernel based on curlwp.
(but don't deprecate the old puffs_cid interface just yet)

Revision 1.58 / (download) - annotate - [select for diffs], Fri Oct 19 14:38:45 2007 UTC (6 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.57: +3 -2 lines
Diff to previous 1.57 (colored)

When doing a read operation, don't copy the whole kernel buffer to
userspace, since it doesn't contain any information yet.  I should
still rework this more so this is just a quickie to get the read/write
style interface more up to speed with the ioctl version.

Revision 1.50.4.2 / (download) - annotate - [select for diffs], Sun Oct 14 11:48:31 2007 UTC (6 years, 10 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50.4.1: +88 -171 lines
Diff to previous 1.50.4.1 (colored) to branchpoint 1.50 (colored) next main 1.51 (colored)

sync with head.

Revision 1.19.6.7 / (download) - annotate - [select for diffs], Fri Oct 12 17:03:16 2007 UTC (6 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.19.6.6: +88 -171 lines
Diff to previous 1.19.6.6 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored)

Sync with head.

Revision 1.57 / (download) - annotate - [select for diffs], Thu Oct 11 23:46:08 2007 UTC (6 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base
Branch point for: bouyer-xenamd64
Changes since 1.56: +2 -15 lines
Diff to previous 1.56 (colored)

g/c garbage

Revision 1.56 / (download) - annotate - [select for diffs], Thu Oct 11 19:41:13 2007 UTC (6 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.55: +90 -160 lines
Diff to previous 1.55 (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.19.6.6 / (download) - annotate - [select for diffs], Tue Oct 9 13:44:18 2007 UTC (6 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.19.6.5: +55 -56 lines
Diff to previous 1.19.6.5 (colored) to branchpoint 1.19 (colored)

Sync with head.

Revision 1.47.4.4 / (download) - annotate - [select for diffs], Sun Oct 7 13:25:07 2007 UTC (6 years, 10 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.47.4.3: +1 -14 lines
Diff to previous 1.47.4.3 (colored) to branchpoint 1.47 (colored)

Sync with HEAD.

Revision 1.50.4.1 / (download) - annotate - [select for diffs], Sat Oct 6 15:29:48 2007 UTC (6 years, 10 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50: +45 -48 lines
Diff to previous 1.50 (colored)

sync with head.

Revision 1.55 / (download) - annotate - [select for diffs], Thu Oct 4 21:20:47 2007 UTC (6 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base2
Changes since 1.54: +1 -14 lines
Diff to previous 1.54 (colored)

g/c the "sizeop" code previous used for ioctl/fcntl.  It was already
commented out and has bitrotted beyond all recognition, so it needs
complete rethinking.

Revision 1.47.4.3 / (download) - annotate - [select for diffs], Tue Oct 2 18:28:52 2007 UTC (6 years, 11 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.47.4.2: +45 -35 lines
Diff to previous 1.47.4.2 (colored) to branchpoint 1.47 (colored)

Sync with HEAD.

Revision 1.54 / (download) - annotate - [select for diffs], Tue Oct 2 01:17:17 2007 UTC (6 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.53: +6 -2 lines
Diff to previous 1.53 (colored)

If kernel resource allocation fails after the file server has
committed something, issue an abort.  The abort is done through
the regular op channel, e.g. failed mkdir leads to regular rmdir,
inactive and reclaim.  No internal interface is planned currently
for the one file system out of a million which would implement it
to benefit from the one case in a billion where kernel resource
allocation actually does fail and out of that one case in a trillion
where internal vs. external would make a difference.

Revision 1.53 / (download) - annotate - [select for diffs], Mon Oct 1 21:09:08 2007 UTC (6 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.52: +20 -31 lines
Diff to previous 1.52 (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.52 / (download) - annotate - [select for diffs], Thu Sep 27 23:10:42 2007 UTC (6 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.51: +2 -2 lines
Diff to previous 1.51 (colored)

nuke trailing , from enum.  spotted by xtraeme

Revision 1.51 / (download) - annotate - [select for diffs], Thu Sep 27 21:14:49 2007 UTC (6 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.50: +23 -6 lines
Diff to previous 1.50 (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.47.4.2 / (download) - annotate - [select for diffs], Mon Sep 3 16:48:46 2007 UTC (7 years ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.47.4.1: +12 -10 lines
Diff to previous 1.47.4.1 (colored) to branchpoint 1.47 (colored)

Sync with HEAD.

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

sync with head.

Revision 1.42.2.2 / (download) - annotate - [select for diffs], Mon Sep 3 10:22:56 2007 UTC (7 years ago) by skrll
Branch: nick-csl-alignment
Changes since 1.42.2.1: +15 -27 lines
Diff to previous 1.42.2.1 (colored) to branchpoint 1.42 (colored) next main 1.43 (colored)

Sync with HEAD.

Revision 1.50 / (download) - annotate - [select for diffs], Thu Aug 23 14:36:46 2007 UTC (7 years ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base, nick-csl-alignment-base5
Branch point for: yamt-x86pmap, matt-armv6
Changes since 1.49: +7 -5 lines
Diff to previous 1.49 (colored)

Add a third type of fh option, passthrough, where the kernel does
not attempt to handle struct fid at all and passes it as such to
userspace.

Revision 1.49 / (download) - annotate - [select for diffs], Wed Aug 22 17:54:31 2007 UTC (7 years ago) by pooka
Branch: MAIN
Changes since 1.48: +6 -6 lines
Diff to previous 1.48 (colored)

Mimic namei structure changes for puffs.  bump both kernel & lib version.

Revision 1.19.6.5 / (download) - annotate - [select for diffs], Mon Aug 20 21:26:09 2007 UTC (7 years ago) by ad
Branch: vmlocking
Changes since 1.19.6.4: +19 -22 lines
Diff to previous 1.19.6.4 (colored) to branchpoint 1.19 (colored)

Sync with HEAD.

Revision 1.47.4.1 / (download) - annotate - [select for diffs], Thu Aug 16 11:03:25 2007 UTC (7 years ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.47: +4 -18 lines
Diff to previous 1.47 (colored)

Sync with HEAD.

Revision 1.48 / (download) - annotate - [select for diffs], Wed Aug 15 14:19:19 2007 UTC (7 years ago) by pooka
Branch: MAIN
Changes since 1.47: +4 -18 lines
Diff to previous 1.47 (colored)

Nuke PUFFSLOOKUP_FOO and move to NAMEI_FOO

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

Sync with HEAD.

Revision 1.47.6.2 / (download) - annotate - [select for diffs], Mon Jul 30 09:04:59 2007 UTC (7 years, 1 month ago) by pooka
Branch: matt-mips64
Changes since 1.47.6.1: +743 -0 lines
Diff to previous 1.47.6.1 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored)

Move PUFFS_TYPEPREFIX to puffs_msgif.h since it's used in a macro there.

Revision 1.47.6.1, Mon Jul 30 09:04:58 2007 UTC (7 years, 1 month ago) by pooka
Branch: matt-mips64
Changes since 1.47: +0 -743 lines
FILE REMOVED

file puffs_msgif.h was added on branch matt-mips64 on 2007-07-30 09:04:59 +0000

Revision 1.47 / (download) - annotate - [select for diffs], Mon Jul 30 09:04:58 2007 UTC (7 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: matt-mips64-base, hpcarm-cleanup
Branch point for: matt-mips64, jmcneill-pm
Changes since 1.46: +3 -1 lines
Diff to previous 1.46 (colored)

Move PUFFS_TYPEPREFIX to puffs_msgif.h since it's used in a macro there.

Revision 1.46 / (download) - annotate - [select for diffs], Fri Jul 27 09:18:54 2007 UTC (7 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.45: +3 -1 lines
Diff to previous 1.45 (colored)

include <uvm/uvm_prot.h>

Revision 1.45 / (download) - annotate - [select for diffs], Fri Jul 27 08:26:39 2007 UTC (7 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.44: +3 -3 lines
Diff to previous 1.44 (colored)

Change unused fflags parameter in VOP_MMAP to prot and pass in
desired vm protection.

Revision 1.44 / (download) - annotate - [select for diffs], Thu Jul 19 07:52:45 2007 UTC (7 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.43: +2 -1 lines
Diff to previous 1.43 (colored)

define PUFFSREQSIZEOP ioctl, which can be used to fetch the
maximum request size

Revision 1.43 / (download) - annotate - [select for diffs], Wed Jul 18 21:08:35 2007 UTC (7 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.42: +4 -4 lines
Diff to previous 1.42 (colored)

kill MFSNAMELEN limit

Revision 1.42 / (download) - annotate - [select for diffs], Tue Jul 17 11:29:43 2007 UTC (7 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: nick-csl-alignment-base
Branch point for: nick-csl-alignment
Changes since 1.41: +9 -3 lines
Diff to previous 1.41 (colored)

Set a file server supplied file system type in the type field and set
the mntfromname to be the place mounted from instead of the type.

Revision 1.41 / (download) - annotate - [select for diffs], Mon Jul 16 16:11:23 2007 UTC (7 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (colored)

1|2 is more correct when it's 3 instead of 2.  This makes calls to
the file server inactive less over-eagerly executed and masks some
problems with the new mounting style.  Effectively, it makes some
file systems such as psshfs mountable again (only without -o allops).

Revision 1.19.6.4 / (download) - annotate - [select for diffs], Sun Jul 15 13:27:31 2007 UTC (7 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.19.6.3: +82 -43 lines
Diff to previous 1.19.6.3 (colored) to branchpoint 1.19 (colored)

Sync with head.

Revision 1.19.8.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:09:28 2007 UTC (7 years, 1 month ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.19: +178 -73 lines
Diff to previous 1.19 (colored) next main 1.20 (colored)

Sync with head.

Revision 1.40 / (download) - annotate - [select for diffs], Mon Jul 2 18:25:36 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
CVS Tags: mjf-ufs-trans-base
Changes since 1.39: +2 -1 lines
Diff to previous 1.39 (colored)

support turning REQUIREDIR off and extra consume in lookup

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

Get rid of the "int *refs" parameter to inactive: the same can be
accomplished now with puffs_setbacks.

Revision 1.38 / (download) - annotate - [select for diffs], Sun Jul 1 22:54:16 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.37: +7 -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:13 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.36: +34 -14 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:15 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.35: +37 -21 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:25:49 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.34: +2 -1 lines
Diff to previous 1.34 (colored)

Actually, keep PUFFS_KFLAG_NOCACHE and -o cache around as shorthand
to neither page- nor namecache.

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

Split the NOCACHE option in twain: NOCACHE_NAME & NOCACHE_PAGE.

Revision 1.19.6.3 / (download) - annotate - [select for diffs], Sat Jun 9 23:58:01 2007 UTC (7 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.19.6.2: +1 -4 lines
Diff to previous 1.19.6.2 (colored) to branchpoint 1.19 (colored)

Sync with head.

Revision 1.19.6.2 / (download) - annotate - [select for diffs], Fri Jun 8 14:15:00 2007 UTC (7 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.19.6.1: +71 -21 lines
Diff to previous 1.19.6.1 (colored) to branchpoint 1.19 (colored)

Sync with head.

Revision 1.33 / (download) - annotate - [select for diffs], Wed Jun 6 01:55:00 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.32: +1 -4 lines
Diff to previous 1.32 (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.32 / (download) - annotate - [select for diffs], Fri May 18 15:46:09 2007 UTC (7 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.31: +4 -2 lines
Diff to previous 1.31 (colored)

Introduce noref setbacks, which the file server can use to signal
the kernel it has 0 references to the node in question.  In other
words, this can be used to avoid inactive(), or, if the file server
does not implement inactive, prompt reclaim for removed nodes.

Revision 1.31 / (download) - annotate - [select for diffs], Fri May 18 13:53:08 2007 UTC (7 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.30: +3 -3 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, 3 months ago) by pooka
Branch: MAIN
Changes since 1.29: +15 -16 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.19.2.4 / (download) - annotate - [select for diffs], Thu May 17 13:41:43 2007 UTC (7 years, 3 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.19.2.3: +10 -3 lines
Diff to previous 1.19.2.3 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored)

sync with head.

Revision 1.29 / (download) - annotate - [select for diffs], Mon May 7 17:14:54 2007 UTC (7 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-idlelwp-base8
Changes since 1.28: +10 -3 lines
Diff to previous 1.28 (colored)

Introduce puffs "setbacks", which can be used to set certain flags
for nodes upon return from the userspace.  Currently it can be used
to indicate that the file server should be notified of "inactive"
in case the file server has opted to not receive inactive every
time the reference count for a vnode drops to zero.  (inactive is
a common event, almost never requires any action and must be executed
sychronously, so it is wasteful).

While doing this, cleanup the release-relock nonsense from the
vntouser*() arguments.  It was never enabled and the whole LOCKEDVP()
concept was very broken to begin with.

Revision 1.19.2.3 / (download) - annotate - [select for diffs], Mon May 7 10:55:42 2007 UTC (7 years, 3 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.19.2.2: +15 -9 lines
Diff to previous 1.19.2.2 (colored) to branchpoint 1.19 (colored)

sync with head.

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

define PUFFS_KFLAG_WTCACHE, which makes the page cache write-through

Revision 1.27 / (download) - annotate - [select for diffs], Mon Apr 16 13:03:26 2007 UTC (7 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.26: +15 -10 lines
Diff to previous 1.26 (colored)

Give the file server the ability to specify the file handle length
instead of defining a static length file handle on the framework-level.

Revision 1.19.2.2 / (download) - annotate - [select for diffs], Sun Apr 15 16:03:46 2007 UTC (7 years, 4 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.19.2.1: +44 -10 lines
Diff to previous 1.19.2.1 (colored) to branchpoint 1.19 (colored)

sync with head.

Revision 1.26 / (download) - annotate - [select for diffs], Fri Apr 13 15:25:35 2007 UTC (7 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.25: +6 -3 lines
Diff to previous 1.25 (colored)

Allow file servers to request the number of hash cookie buckets for
pnode -> vnode reverse lookup.

Revision 1.25 / (download) - annotate - [select for diffs], Fri Apr 13 13:31:11 2007 UTC (7 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.24: +4 -3 lines
Diff to previous 1.24 (colored)

* add fhlen to kernel argument structure
* rename it to puffs_kargs instead of puffs_args

Revision 1.24 / (download) - annotate - [select for diffs], Wed Apr 11 21:03:05 2007 UTC (7 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: thorpej-atomic-base, thorpej-atomic
Changes since 1.23: +36 -4 lines
Diff to previous 1.23 (colored)

* support VFS_FHTOVP and VFS_VPTOFH
* support cookies in for VOP_READDIR

nfs exporting puffs file systems works now

Revision 1.19.6.1 / (download) - annotate - [select for diffs], Tue Apr 10 13:26:35 2007 UTC (7 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.19: +33 -14 lines
Diff to previous 1.19 (colored)

Sync with head.

Revision 1.23 / (download) - annotate - [select for diffs], Fri Apr 6 17:05:34 2007 UTC (7 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.22: +3 -5 lines
Diff to previous 1.22 (colored)

actually, we don't need a separate op for flushing the whole page cache
of a node, just use the range op with endoff = 0

Revision 1.19.10.1 / (download) - annotate - [select for diffs], Thu Mar 29 19:27:55 2007 UTC (7 years, 5 months ago) by reinoud
Branch: reinoud-bufcleanup
Changes since 1.19: +31 -10 lines
Diff to previous 1.19 (colored) next main 1.20 (colored)

Pullup to -current

Revision 1.22 / (download) - annotate - [select for diffs], Thu Mar 29 16:04:26 2007 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (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.19.2.1 / (download) - annotate - [select for diffs], Sat Mar 24 14:55:57 2007 UTC (7 years, 5 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.19: +29 -8 lines
Diff to previous 1.19 (colored)

sync with head.

Revision 1.21 / (download) - annotate - [select for diffs], Tue Mar 20 18:28:49 2007 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.20: +4 -4 lines
Diff to previous 1.20 (colored)

export puffs version of namei ISLASTCN macro to userspace

Revision 1.20 / (download) - annotate - [select for diffs], Tue Mar 20 10:21:58 2007 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.19: +26 -5 lines
Diff to previous 1.19 (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.13.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:10:57 2007 UTC (7 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13.2.2: +60 -20 lines
Diff to previous 1.13.2.2 (colored)

sync with head.

Revision 1.8.2.4 / (download) - annotate - [select for diffs], Thu Feb 1 08:48:33 2007 UTC (7 years, 7 months ago) by ad
Branch: newlock2
Changes since 1.8.2.3: +14 -9 lines
Diff to previous 1.8.2.3 (colored) next main 1.9 (colored)

Sync with head.

Revision 1.19 / (download) - annotate - [select for diffs], Fri Jan 26 22:59:49 2007 UTC (7 years, 7 months ago) by pooka
Branch: MAIN
CVS Tags: post-newlock2-merge, newlock2-nbase, newlock2-base, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp, vmlocking, reinoud-bufcleanup, mjf-ufs-trans
Changes since 1.18: +14 -3 lines
Diff to previous 1.18 (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.18 / (download) - annotate - [select for diffs], Tue Jan 16 22:38:19 2007 UTC (7 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.17: +1 -7 lines
Diff to previous 1.17 (colored)

g/c revoke msg structure

Revision 1.8.2.3 / (download) - annotate - [select for diffs], Fri Jan 12 01:04:05 2007 UTC (7 years, 7 months ago) by ad
Branch: newlock2
Changes since 1.8.2.2: +258 -57 lines
Diff to previous 1.8.2.2 (colored)

Sync with head.

Revision 1.17 / (download) - annotate - [select for diffs], Tue Jan 9 21:59:05 2007 UTC (7 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.16: +3 -1 lines
Diff to previous 1.16 (colored)

comment out flushmulti for now, it's not done and kdump will complain
as mjf noted

Revision 1.16 / (download) - annotate - [select for diffs], Tue Jan 9 18:14:31 2007 UTC (7 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.15: +43 -11 lines
Diff to previous 1.15 (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.15 / (download) - annotate - [select for diffs], Sun Jan 7 19:28:48 2007 UTC (7 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

vfs sync, flushes regular file data only (user server can take care of
flushing any metadata it might have hidden away)

Revision 1.14 / (download) - annotate - [select for diffs], Tue Jan 2 15:51:21 2007 UTC (7 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.13: +5 -4 lines
Diff to previous 1.13 (colored)

* check userspace version and prevent incompatible mount
* some general maintenance

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

sync with head.

Revision 1.13.2.1, Fri Dec 29 15:38:37 2006 UTC (7 years, 8 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.13: +0 -587 lines
FILE REMOVED

file puffs_msgif.h was added on branch yamt-lazymbuf on 2006-12-30 20:50:00 +0000

Revision 1.13 / (download) - annotate - [select for diffs], Fri Dec 29 15:38:37 2006 UTC (7 years, 8 months ago) by pooka
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.12: +20 -21 lines
Diff to previous 1.12 (colored)

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

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

sync with head.

Revision 1.12.2.1, Thu Dec 7 16:58:39 2006 UTC (7 years, 8 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.12: +0 -588 lines
FILE REMOVED

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

Revision 1.12 / (download) - annotate - [select for diffs], Thu Dec 7 16:58:39 2006 UTC (7 years, 8 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3
Branch point for: yamt-splraiseipl
Changes since 1.11: +9 -2 lines
Diff to previous 1.11 (colored)

let implementation ultimately decide if mmap is supported - pass
VOP_MMAP to fs server

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

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

Revision 1.10 / (download) - annotate - [select for diffs], Fri Dec 1 12:48:31 2006 UTC (7 years, 9 months 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
Changes since 1.9: +5 -5 lines
Diff to previous 1.9 (colored)

prefix kernel flags with PUFFS_KFLAG to have a separate namespace
from the library flags

Revision 1.9 / (download) - annotate - [select for diffs], Fri Dec 1 12:37:41 2006 UTC (7 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.8: +7 -3 lines
Diff to previous 1.8 (colored)

don't call the fs server for all operations, only those it has told
us that it implements

Revision 1.8.2.2 / (download) - annotate - [select for diffs], Sat Nov 18 21:39:20 2006 UTC (7 years, 9 months ago) by ad
Branch: newlock2
Changes since 1.8.2.1: +421 -0 lines
Diff to previous 1.8.2.1 (colored)

Sync with head.

Revision 1.8.2.1, Sat Nov 18 12:39:48 2006 UTC (7 years, 9 months ago) by ad
Branch: newlock2
Changes since 1.8: +0 -422 lines
FILE REMOVED

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

Revision 1.8 / (download) - annotate - [select for diffs], Sat Nov 18 12:39:48 2006 UTC (7 years, 9 months ago) by pooka
Branch: MAIN
Branch point for: newlock2
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (colored)

Require statvfs info from startreq so that we have that info available.
Also, don't pass fsid to userspace and just fill it in the kernel.

Revision 1.7 / (download) - annotate - [select for diffs], Fri Nov 17 17:48:02 2006 UTC (7 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.6: +4 -3 lines
Diff to previous 1.6 (colored)

Introduce uncached operation, makes sense when the file system backend
can be modified from elsewhere than the file system interface

Revision 1.6 / (download) - annotate - [select for diffs], Thu Nov 9 13:09:34 2006 UTC (7 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.5: +10 -9 lines
Diff to previous 1.5 (colored)

few renames to better differentiate between mount & start.. plus some
other renaming

Revision 1.5 / (download) - annotate - [select for diffs], Tue Nov 7 22:10:18 2006 UTC (7 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.4: +7 -1 lines
Diff to previous 1.4 (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.4 / (download) - annotate - [select for diffs], Thu Oct 26 22:52:47 2006 UTC (7 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.3: +2 -1 lines
Diff to previous 1.3 (colored)

support specfs

Revision 1.3 / (download) - annotate - [select for diffs], Wed Oct 25 18:15:39 2006 UTC (7 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.2: +6 -1 lines
Diff to previous 1.2 (colored)

pass VOP_INACTIVE() to userspace

Revision 1.2 / (download) - annotate - [select for diffs], Mon Oct 23 16:07:18 2006 UTC (7 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (colored)

bump the reqstruct minsize to something more believable (but I should
really fix this, still)

Revision 1.1 / (download) - annotate - [select for diffs], Sun Oct 22 22:43:23 2006 UTC (7 years, 10 months 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>