The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.31.4.3 / (download) - annotate - [select for diffs], Tue Sep 30 18:14:22 2014 UTC (3 weeks ago) by martin
Branch: netbsd-7
Changes since 1.31.4.2: +4 -3 lines
Diff to previous 1.31.4.2 (colored) to branchpoint 1.31 (colored) next main 1.32 (colored)

Pull up following revision(s) (requested by hannken in ticket #67):
	sys/fs/puffs/puffs_node.c: revision 1.34
	sys/fs/puffs/puffs_vnops.c: revision 1.187
Fix the puffs_sop_thread -> puffs_cookie2vnode path:
- pass the cookie by reference
- add missing mutex_exit()
- update assertion for VNON typed vnodes

Revision 1.34 / (download) - annotate - [select for diffs], Tue Sep 30 10:15:03 2014 UTC (3 weeks ago) by hannken
Branch: MAIN
CVS Tags: HEAD
Changes since 1.33: +4 -3 lines
Diff to previous 1.33 (colored)

Fix the puffs_sop_thread -> puffs_cookie2vnode path:
- pass the cookie by reference
- add missing mutex_exit()
- update assertion for VNON typed vnodes

Revision 1.31.4.2 / (download) - annotate - [select for diffs], Wed Sep 10 08:42:28 2014 UTC (5 weeks, 6 days ago) by martin
Branch: netbsd-7
Changes since 1.31.4.1: +4 -2 lines
Diff to previous 1.31.4.1 (colored) to branchpoint 1.31 (colored)

Pull up following revision(s) (requested by manu in ticket #79):
	sys/fs/puffs/puffs_node.c: revision 1.33
	sys/fs/puffs/puffs_vnops.c: revision 1.185
When changing a directory content, update the ctime/mtime in kernel
cache, otherwise the updated ctime/mtime appears after the cached
entry expire.

Revision 1.33 / (download) - annotate - [select for diffs], Fri Sep 5 15:39:18 2014 UTC (6 weeks, 4 days ago) by manu
Branch: MAIN
Changes since 1.32: +4 -2 lines
Diff to previous 1.32 (colored)

When changing a directory content, update the ctime/mtime in kernel cache,
otherwise the updated ctime/mtime appears after the cached entry expire.

Revision 1.31.4.1 / (download) - annotate - [select for diffs], Fri Aug 29 11:55:34 2014 UTC (7 weeks, 4 days ago) by martin
Branch: netbsd-7
Changes since 1.31: +86 -246 lines
Diff to previous 1.31 (colored)

Pull up following revision(s) (requested by hannken in ticket #67):
	sys/fs/puffs/puffs_sys.h: revision 1.86
	sys/fs/puffs/puffs_vfsops.c: revision 1.114
	sys/fs/puffs/puffs_msgif.c: revision 1.95
	sys/fs/puffs/puffs_node.c: revision 1.32
	sys/fs/puffs/puffs_vnops.c: revision 1.184
Change puffs from hashlist to vcache.
- field "pa_nhashbuckets" of struct "puffs_kargs" becomes a no-op.
and should be removed on the next protocol version bump.

Revision 1.32 / (download) - annotate - [select for diffs], Thu Aug 28 08:29:50 2014 UTC (7 weeks, 5 days ago) by hannken
Branch: MAIN
Changes since 1.31: +86 -246 lines
Diff to previous 1.31 (colored)

Change puffs from hashlist to vcache.
- field "pa_nhashbuckets" of struct "puffs_kargs" becomes a no-op.
  and should be removed on the next protocol version bump.

Revision 1.27.2.3 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:27 2014 UTC (2 months ago) by tls
Branch: tls-maxphys
Changes since 1.27.2.2: +0 -3 lines
Diff to previous 1.27.2.2 (colored) to branchpoint 1.27 (colored) next main 1.28 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.22.2.4 / (download) - annotate - [select for diffs], Thu May 22 11:41:01 2014 UTC (5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.22.2.3: +11 -7 lines
Diff to previous 1.22.2.3 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.29.6.1 / (download) - annotate - [select for diffs], Sun May 18 17:46:06 2014 UTC (5 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.29: +2 -5 lines
Diff to previous 1.29 (colored) next main 1.30 (colored)

sync with head

Revision 1.31 / (download) - annotate - [select for diffs], Thu Jan 23 10:13:56 2014 UTC (8 months, 4 weeks ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, netbsd-7-base
Branch point for: netbsd-7
Changes since 1.30: +2 -3 lines
Diff to previous 1.30 (colored)

Change vnode operations create, mknod, mkdir and symlink to return
the resulting vnode *vpp unlocked.

Discussed on tech-kern@

Welcome to 6.99.30

Revision 1.30 / (download) - annotate - [select for diffs], Thu Oct 17 21:03:27 2013 UTC (12 months ago) by christos
Branch: MAIN
Changes since 1.29: +2 -4 lines
Diff to previous 1.29 (colored)

- remove unused variables
- add _NOERROR flavor macros for the case where errors are ignored.

Revision 1.27.2.2 / (download) - annotate - [select for diffs], Sun Jun 23 06:18:28 2013 UTC (15 months, 4 weeks ago) by tls
Branch: tls-maxphys
Changes since 1.27.2.1: +11 -4 lines
Diff to previous 1.27.2.1 (colored) to branchpoint 1.27 (colored)

resync from head

Revision 1.29 / (download) - annotate - [select for diffs], Wed Mar 6 11:40:22 2013 UTC (19 months, 2 weeks ago) by yamt
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900, agc-symver-base, agc-symver
Branch point for: rmind-smpnet
Changes since 1.28: +11 -4 lines
Diff to previous 1.28 (colored)

comments
use sizeof(var) instead of sizeof(type) where possibly confusing

Revision 1.22.2.3 / (download) - annotate - [select for diffs], Wed Jan 16 05:33:40 2013 UTC (21 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.22.2.2: +4 -3 lines
Diff to previous 1.22.2.2 (colored) to branchpoint 1.22 (colored)

sync with (a bit old) head

Revision 1.27.2.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:02:40 2012 UTC (23 months ago) by tls
Branch: tls-maxphys
Changes since 1.27: +4 -3 lines
Diff to previous 1.27 (colored)

Resync to 2012-11-19 00:00:00 UTC

Revision 1.28 / (download) - annotate - [select for diffs], Mon Nov 5 17:27:38 2012 UTC (23 months, 2 weeks ago) by dholland
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7
Changes since 1.27: +4 -3 lines
Diff to previous 1.27 (colored)

Excise struct componentname from the namecache.

This uglifies the interface, because several operations need to be
passed the namei flags and cache_lookup also needs for the time being
to be passed cnp->cn_nameiop. Nonetheless, it's a net benefit.

The glop should be able to go away eventually but requires structural
cleanup elsewhere first.

This change requires a kernel bump.

Revision 1.22.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:22:24 2012 UTC (23 months, 3 weeks ago) by yamt
Branch: yamt-pagecache
Changes since 1.22.2.1: +3 -3 lines
Diff to previous 1.22.2.1 (colored) to branchpoint 1.22 (colored)

sync with head

Revision 1.23.2.2 / (download) - annotate - [select for diffs], Sun Aug 12 12:59:50 2012 UTC (2 years, 2 months 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-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, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.23.2.1: +1 -1 lines
Diff to previous 1.23.2.1 (colored) to branchpoint 1.23 (colored) next main 1.24 (colored)

Pull up following revision(s) (requested by manu in ticket #484):
	sys/fs/nilfs/nilfs_vnops.c: revision 1.18
	sys/ufs/ufs/ufs_lookup.c: revision 1.117
	sys/nfs/nfs_vnops.c: revision 1.295
	sys/ufs/chfs/chfs_vnops.c: revision 1.8
	sys/ufs/ext2fs/ext2fs_lookup.c: revision 1.70
	sys/fs/unionfs/unionfs_vnops.c: revision 1.6
	sys/kern/vfs_cache.c: revision 1.89
	sys/fs/efs/efs_vnops.c: revision 1.26
	sys/fs/hfs/hfs_vnops.c: revision 1.26
	sys/fs/adosfs/adlookup.c: revision 1.16
	sys/fs/puffs/puffs_vnops.c: revision 1.168
	sys/fs/tmpfs/tmpfs_vnops.c: revision 1.98
	sys/fs/ntfs/ntfs_vnops.c: revision 1.52
	sys/fs/cd9660/cd9660_lookup.c: revision 1.20
	sys/fs/msdosfs/msdosfs_lookup.c: revision 1.24
	sys/fs/smbfs/smbfs_vnops.c: revision 1.80
	sys/fs/udf/udf_vnops.c: revision 1.72
	sys/fs/filecorefs/filecore_lookup.c: revision 1.14
	sys/fs/puffs/puffs_node.c: revision 1.25
Move some the test for MAKEENTRY into the cache_enter(9).  Make some
variables in vfs_cache.c static, __read_mostly, etc.
No objection on tech-kern@.

Revision 1.27 / (download) - annotate - [select for diffs], Mon Jul 23 19:06:10 2012 UTC (2 years, 2 months ago) by manu
Branch: MAIN
CVS Tags: yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.26: +1 -1 lines
Diff to previous 1.26 (colored)

Backout NCHNAMLEN check for cache_enter. That change collided with rmind's
move of this exact check into cache_enter

Revision 1.26 / (download) - annotate - [select for diffs], Mon Jul 23 12:15:30 2012 UTC (2 years, 2 months ago) by manu
Branch: MAIN
Changes since 1.25: +3 -3 lines
Diff to previous 1.25 (colored)

Di not call cache_enter with path components bigger than NCHNAMLEN, as it
panics the kernel.

Revision 1.25 / (download) - annotate - [select for diffs], Sun Jul 22 00:53:20 2012 UTC (2 years, 3 months ago) by rmind
Branch: MAIN
Changes since 1.24: +3 -3 lines
Diff to previous 1.24 (colored)

Move some the test for MAKEENTRY into the cache_enter(9).  Make some
variables in vfs_cache.c static, __read_mostly, etc.

No objection on tech-kern@.

Revision 1.22.6.2 / (download) - annotate - [select for diffs], Sun Apr 29 23:05:03 2012 UTC (2 years, 5 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.22.6.1: +5 -2 lines
Diff to previous 1.22.6.1 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

sync to latest -current.

Revision 1.23.2.1 / (download) - annotate - [select for diffs], Mon Apr 23 16:49:02 2012 UTC (2 years, 5 months ago) by riz
Branch: netbsd-6
Changes since 1.23: +5 -2 lines
Diff to previous 1.23 (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.22.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:19 2012 UTC (2 years, 6 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.22: +20 -4 lines
Diff to previous 1.22 (colored)

sync with head

Revision 1.24 / (download) - annotate - [select for diffs], Sun Apr 8 15:04:41 2012 UTC (2 years, 6 months ago) by manu
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base10
Changes since 1.23: +5 -2 lines
Diff to previous 1.23 (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.22.6.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:35:24 2012 UTC (2 years, 8 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.22: +17 -4 lines
Diff to previous 1.22 (colored)

merge to -current.

Revision 1.13.10.4 / (download) - annotate - [select for diffs], Wed Jan 25 20:51:15 2012 UTC (2 years, 8 months 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.13.10.3: +17 -4 lines
Diff to previous 1.13.10.3 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored)

Pull up following revision(s) (requested by manu in ticket #1714):
	sys/fs/puffs/puffs_node.c: revision 1.23
Fix a race condition where the filesystem lookups a vnode that is
being recycled, producing ENOENT while the file does exist.
Approved by yamt

Revision 1.23 / (download) - annotate - [select for diffs], Thu Jan 19 08:14:41 2012 UTC (2 years, 9 months ago) by manu
Branch: MAIN
CVS Tags: netbsd-6-base, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2
Branch point for: netbsd-6
Changes since 1.22: +17 -4 lines
Diff to previous 1.22 (colored)

Fix a race condition where the filesystem lookups a vnode that is
being recycled, producing ENOENT while the file does exist.

Approved by yamt

Revision 1.13.10.3 / (download) - annotate - [select for diffs], Wed Nov 2 20:11:12 2011 UTC (2 years, 11 months ago) by riz
Branch: netbsd-5
Changes since 1.13.10.2: +6 -2 lines
Diff to previous 1.13.10.2 (colored) to branchpoint 1.13 (colored)

Pull up following revision(s) (requested by manu in ticket #1679):
	sys/fs/puffs/puffs_vnops.c: revision 1.157
	sys/fs/puffs/puffs_vnops.c: revision 1.158
	sys/fs/puffs/puffs_vnops.c: revision 1.159
	sys/fs/puffs/puffs_vfsops.c: revision 1.97
	sys/fs/puffs/puffs_vfsops.c: revision 1.99
	sys/fs/puffs/puffs_vnops.c: revision 1.160
	sys/fs/puffs/puffs_vfsops.c: revision 1.100
	sys/miscfs/syncfs/sync_subr.c: revision 1.47
	sys/fs/puffs/puffs_node.c: revision 1.21
	sys/fs/puffs/puffs_node.c: revision 1.22
	sys/fs/puffs/puffs_msgif.c: revision 1.88
	sys/fs/puffs/puffs_msgif.c: revision 1.89
	sys/fs/puffs/puffs_vnops.c: revision 1.156
Make sure ioflush does not sleep in PUFFS code path, waiting for a mutex,
a memory allocation, or a response from the filesystem.
This avoids deadlocks in the following situations:
1) when memory is low: ioflush waits the fileystem, the fielsystem waits
   for memory
2) when the filesystem does not respond (e.g.: network outage ona
   distributed filesystem)
Fix the build that was broken by struct lwp *updateproc reference in
RUMP-visible code. Instead of checking that updateproc (aka ioflush,
aka syncer) will not sleep in PUFFS code, I check for any kernel thread:
after all none of them are designed to hang awaiting for a remote filesystem
operation to complete.
Roll back the change that forced kernel threads to not sleep in PUFFS.
The change does not make consensus, since only pagedaemon should need it.
Other threads will tolerate sleeping, and problems here are only symptoms
that something is going wrong in memory management. The cause, not the
symptoms, need to be fixed.
Make sure pagedaemon does not sleep for memory in puffs_vnop_sleep.
Add KASSERT on any sleeping memory allocation to check it cannot happen again.
Remove #ifdef DIAGNOSTIC guards around KASSERT, as the macro contains them

Revision 1.22 / (download) - annotate - [select for diffs], Wed Oct 19 01:39:29 2011 UTC (3 years ago) by manu
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.21: +0 -2 lines
Diff to previous 1.21 (colored)

Remove #ifdef DIAGNOSTIC guards around KASSERT, as the macro contains them

Revision 1.21 / (download) - annotate - [select for diffs], Tue Oct 18 15:39:09 2011 UTC (3 years ago) by manu
Branch: MAIN
Changes since 1.20: +8 -2 lines
Diff to previous 1.20 (colored)

Make sure pagedaemon does not sleep for memory in puffs_vnop_sleep.
Add KASSERT on any sleeping memory allocation to check it cannot happen again.

Revision 1.13.10.2 / (download) - annotate - [select for diffs], Sat Sep 17 18:53:30 2011 UTC (3 years, 1 month ago) by bouyer
Branch: netbsd-5
Changes since 1.13.10.1: +4 -2 lines
Diff to previous 1.13.10.1 (colored) to branchpoint 1.13 (colored)

Pull up following revision(s) (requested by manu in ticket #1666):
	sys/fs/puffs/puffs_sys.h: revision 1.78 via patch
	sys/fs/puffs/puffs_node.c: revision 1.20 via patch
	sys/fs/puffs/puffs_vnops.c: revision 1.155 via patch
Add a mutex for operations that touch size (setattr, getattr, write, fsync).
This is required to avoid data corruption bugs, where a getattr slices
itself within a setattr operation, and sets the size to the stall value
it got from the filesystem. That value is smaller than the one set by
setattr, and the call to uvm_vnp_setsize() trigged a spurious truncate.
The result is a chunk of zeroed data in the file.
Such a situation can easily happen when the ioflush thread issue a
VOP_FSYNC/puffs_vnop_sync/flushvncache/dosetattrn while andother process
do a sys_stat/VOP_GETATTR/puffs_vnop_getattr.
This mutex on size operation can be removed the day we decide VOP_GETATTR
has to operated on a locked vnode, since the other operations that touch
size already require that.

Revision 1.20 / (download) - annotate - [select for diffs], Mon Aug 29 04:12:45 2011 UTC (3 years, 1 month ago) by manu
Branch: MAIN
Changes since 1.19: +4 -2 lines
Diff to previous 1.19 (colored)

Add a mutex for operations that touch size (setattr, getattr, write, fsync).

This is required to avoid data corruption bugs, where a getattr slices
itself within a setattr operation, and sets the size to the stall value
it got from the filesystem. That value is smaller than the one set by
setattr, and the call to uvm_vnp_setsize() trigged a spurious truncate.
The result is a chunk of zeroed data in the file.

Such a situation can easily happen when the ioflush thread issue a
VOP_FSYNC/puffs_vnop_sync/flushvncache/dosetattrn while andother process
do a sys_stat/VOP_GETATTR/puffs_vnop_getattr.

This mutex on size operation can be removed the day we decide VOP_GETATTR
has to operated on a locked vnode, since the other operations that touch
size already require that.

Revision 1.19 / (download) - annotate - [select for diffs], Thu Jun 30 20:09:41 2011 UTC (3 years, 3 months ago) by wiz
Branch: MAIN
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored)

dependant -> dependent

Revision 1.17.6.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:16 2011 UTC (3 years, 3 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.17: +7 -6 lines
Diff to previous 1.17 (colored) next main 1.18 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.18 / (download) - annotate - [select for diffs], Sun Jun 12 03:35:54 2011 UTC (3 years, 4 months ago) by rmind
Branch: MAIN
Changes since 1.17: +7 -6 lines
Diff to previous 1.17 (colored)

Welcome to 5.99.53!  Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
  New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
  the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
  Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
  kernel-lock on some ports).  Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.

Revision 1.15.4.3 / (download) - annotate - [select for diffs], Thu May 19 03:43:01 2011 UTC (3 years, 5 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.15.4.2: +5 -4 lines
Diff to previous 1.15.4.2 (colored) to branchpoint 1.15 (colored) next main 1.16 (colored)

Implement sharing of vnode_t::v_interlock amongst vnodes:
- Lock is shared amongst UVM objects using uvm_obj_setlock() or getnewvnode().
- Adjust vnode cache to handle unsharing, add VI_LOCKSHARE flag for that.
- Use sharing in tmpfs and layerfs for underlying object.
- Simplify locking in ubc_fault().
- Sprinkle some asserts.

Discussed with ad@.

Revision 1.15.4.2 / (download) - annotate - [select for diffs], Sat Mar 5 20:55:07 2011 UTC (3 years, 7 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.15.4.1: +5 -5 lines
Diff to previous 1.15.4.1 (colored) to branchpoint 1.15 (colored)

sync with head

Revision 1.15.2.1 / (download) - annotate - [select for diffs], Tue Aug 17 06:47:19 2010 UTC (4 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.15: +5 -5 lines
Diff to previous 1.15 (colored) next main 1.16 (colored)

Sync with HEAD.

Revision 1.12.4.3 / (download) - annotate - [select for diffs], Wed Aug 11 22:54:35 2010 UTC (4 years, 2 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.12.4.2: +5 -5 lines
Diff to previous 1.12.4.2 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored)

sync with head.

Revision 1.17 / (download) - annotate - [select for diffs], Sun Jul 25 10:03:59 2010 UTC (4 years, 2 months ago) by hannken
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, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: cherry-xenmp
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored)

It makes no sense to call vget() with LK_RETRY.

Revision 1.16 / (download) - annotate - [select for diffs], Wed Jul 21 17:52:10 2010 UTC (4 years, 3 months ago) by hannken
Branch: MAIN
Changes since 1.15: +4 -4 lines
Diff to previous 1.15 (colored)

Make holding v_interlock mandatory for callers of vget().

Announced some time ago on tech-kern.

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

sync to netbsd-5

Revision 1.15.4.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:07 2010 UTC (4 years, 7 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.15: +4 -4 lines
Diff to previous 1.15 (colored)

Change struct uvm_object::vmobjlock to be dynamically allocated with
mutex_obj_alloc().  It allows us to share the locks among UVM objects.

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

sync with head

Revision 1.15 / (download) - annotate - [select for diffs], Thu Nov 5 19:42:44 2009 UTC (4 years, 11 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base1, uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.14: +2 -3 lines
Diff to previous 1.14 (colored)

Kill suspend support.  It was never implemented correctly:
  * it depended on the biglock (in a very cruel way)
  * it was attached to userspace transactions rather than logical
    fs operations

(If someone wants to revisit it some day, most of the stuff can be
reused from cvs history)

Revision 1.13.10.1 / (download) - annotate - [select for diffs], Sat Oct 3 23:11:27 2009 UTC (5 years ago) by snj
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.13: +6 -4 lines
Diff to previous 1.13 (colored)

Pull up following revision(s) (requested by pooka in ticket #1042):
	sys/fs/puffs/puffs_node.c: revision 1.14
	sys/fs/puffs/puffs_vnops.c: revision 1.134
* fix a race i introduced almost two years ago in rev 1.116:
  operations creating a node cannot be considered outgoing operations,
  since after return from userspace they modify file system state
  by creating a new node.  if we do not protect the file system by
  holding the directory lock, a lookup operation might race us into
  the kernel and create the node earlier.
* remove pnode from hashlish before sending the reclaim faf off to
  userspace.  also, hold pmp_lock while frobbing the list.

Revision 1.14 / (download) - annotate - [select for diffs], Wed Sep 30 18:19:17 2009 UTC (5 years ago) by pooka
Branch: MAIN
CVS Tags: jym-xensuspend-nbase
Changes since 1.13: +6 -4 lines
Diff to previous 1.13 (colored)

* fix a race i introduced almost two years ago in rev 1.116:
  operations creating a node cannot be considered outgoing operations,
  since after return from userspace they modify file system state
  by creating a new node.  if we do not protect the file system by
  holding the directory lock, a lookup operation might race us into
  the kernel and create the node earlier.
* remove pnode from hashlish before sending the reclaim faf off to
  userspace.  also, hold pmp_lock while frobbing the list.

Revision 1.11.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:05 2008 UTC (6 years, 4 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.11.6.1: +1 -46 lines
Diff to previous 1.11.6.1 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored)

Sync with HEAD.

Revision 1.12.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:02 2008 UTC (6 years, 5 months ago) by yamt
Branch: yamt-pf42
Changes since 1.12: +3 -48 lines
Diff to previous 1.12 (colored) next main 1.13 (colored)

sync with head.

Revision 1.12.4.1 / (download) - annotate - [select for diffs], Fri May 16 02:25:18 2008 UTC (6 years, 5 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.12: +3 -48 lines
Diff to previous 1.12 (colored)

sync with head.

Revision 1.13 / (download) - annotate - [select for diffs], Tue May 6 12:33:16 2008 UTC (6 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, 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-base2, 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-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, nick-hppapmap, 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-devfs2-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, jymxensuspend-base, jym-xensuspend-base, jym-xensuspend, hpcarm-cleanup-nbase, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: netbsd-5, matt-nb5-mips64
Changes since 1.12: +3 -48 lines
Diff to previous 1.12 (colored)

PR kern/37950 Unmounting psshfs immediately panics the machine

puffs_getvnode() was inserting vnodes into mnt_vnodelist without taking
a reference to the mount for each. When vnodes are scrubbed, refs to the
vnodes mount structure are dropped => boom.

Revision 1.11.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:42:59 2008 UTC (6 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.11: +4 -3 lines
Diff to previous 1.11 (colored)

Sync with HEAD.

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

sync with head.

Revision 1.6.8.4 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:56 2008 UTC (6 years, 7 months ago) by matt
Branch: matt-armv6
Changes since 1.6.8.3: +38 -50 lines
Diff to previous 1.6.8.3 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored)

sync with HEAD

Revision 1.6.4.6 / (download) - annotate - [select for diffs], Mon Mar 17 09:15:32 2008 UTC (6 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.4.5: +4 -3 lines
Diff to previous 1.6.4.5 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored)

sync with head.

Revision 1.12 / (download) - annotate - [select for diffs], Sat Mar 1 14:16:51 2008 UTC (6 years, 7 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp
Changes since 1.11: +4 -3 lines
Diff to previous 1.11 (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.6.6.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:06:40 2008 UTC (6 years, 8 months ago) by mjf
Branch: mjf-devfs
Changes since 1.6.6.1: +40 -54 lines
Diff to previous 1.6.6.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored)

Sync with HEAD.

Revision 1.6.4.5 / (download) - annotate - [select for diffs], Mon Feb 4 09:23:58 2008 UTC (6 years, 8 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.4.4: +36 -49 lines
Diff to previous 1.6.4.4 (colored) to branchpoint 1.6 (colored)

sync with head.

Revision 1.11 / (download) - annotate - [select for diffs], Mon Jan 28 21:06:36 2008 UTC (6 years, 8 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.10: +34 -32 lines
Diff to previous 1.10 (colored)

For code clarity typedef void *puffs_cookie_t.

No functional change.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Jan 24 17:32:54 2008 UTC (6 years, 8 months ago) by ad
Branch: MAIN
Changes since 1.9: +4 -19 lines
Diff to previous 1.9 (colored)

specfs changes for PR kern/37717 (raidclose() is no longer called on
shutdown). There are still problems with device access and a PR will be
filed.

- Kill checkalias(). Allow multiple vnodes to reference a single device.

- Don't play dangerous tricks with block vnodes to ensure that only one
  vnode can describe a block device. Instead, prohibit concurrent opens of
  block devices. As a bonus remove the unreliable code that prevents
  multiple file system mounts on the same device. It's no longer needed.

- Track opens by vnode and by device. Issue cdev_close() when the last open
  goes away, instead of abusing vnode::v_usecount to tell if the device is
  open.

Revision 1.6.4.4 / (download) - annotate - [select for diffs], Mon Jan 21 09:45:51 2008 UTC (6 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.4.3: +6 -7 lines
Diff to previous 1.6.4.3 (colored) to branchpoint 1.6 (colored)

sync with head

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

sync with HEAD

Revision 1.8.6.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:55:33 2008 UTC (6 years, 9 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.8: +6 -7 lines
Diff to previous 1.8 (colored) next main 1.9 (colored)

Sync with HEAD

Revision 1.9 / (download) - annotate - [select for diffs], Wed Jan 2 11:48:43 2008 UTC (6 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.8: +6 -7 lines
Diff to previous 1.8 (colored)

Merge vmlocking2 to head.

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

sync with head

Revision 1.8.2.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:03:06 2007 UTC (6 years, 10 months ago) by ad
Branch: vmlocking2
Changes since 1.8: +6 -7 lines
Diff to previous 1.8 (colored) next main 1.9 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.4.2.4 / (download) - annotate - [select for diffs], Wed Nov 21 21:55:54 2007 UTC (6 years, 11 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.4.2.3: +8 -10 lines
Diff to previous 1.4.2.3 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

Sync with HEAD.

Revision 1.6.6.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:48:29 2007 UTC (6 years, 11 months ago) by mjf
Branch: mjf-devfs
Changes since 1.6: +8 -10 lines
Diff to previous 1.6 (colored)

Sync with HEAD.

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Sun Nov 18 19:35:45 2007 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.6: +8 -10 lines
Diff to previous 1.6 (colored) next main 1.7 (colored)

Sync with HEAD

Revision 1.8 / (download) - annotate - [select for diffs], Sat Nov 17 21:55:29 2007 UTC (6 years, 11 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: vmlocking2, bouyer-xeni386
Changes since 1.7: +4 -6 lines
Diff to previous 1.7 (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.7 / (download) - annotate - [select for diffs], Fri Nov 16 20:32:17 2007 UTC (6 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.6: +6 -6 lines
Diff to previous 1.6 (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.6.8.2 / (download) - annotate - [select for diffs], Tue Nov 6 23:31:15 2007 UTC (6 years, 11 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.6.8.1: +529 -0 lines
Diff to previous 1.6.8.1 (colored) to branchpoint 1.6 (colored)

sync with HEAD

Revision 1.4.6.6 / (download) - annotate - [select for diffs], Sun Oct 28 22:01:25 2007 UTC (6 years, 11 months ago) by ad
Branch: vmlocking
Changes since 1.4.6.5: +3 -3 lines
Diff to previous 1.4.6.5 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

Fix up mnt_vnodelist handling.

Revision 1.6.4.2 / (download) - annotate - [select for diffs], Sat Oct 27 11:35:10 2007 UTC (6 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.4.1: +529 -0 lines
Diff to previous 1.6.4.1 (colored) to branchpoint 1.6 (colored)

sync with head.

Revision 1.4.2.3 / (download) - annotate - [select for diffs], Fri Oct 26 15:48:18 2007 UTC (6 years, 11 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.4.2.2: +8 -8 lines
Diff to previous 1.4.2.2 (colored) to branchpoint 1.4 (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.4.6.5 / (download) - annotate - [select for diffs], Tue Oct 23 20:17:06 2007 UTC (7 years ago) by ad
Branch: vmlocking
Changes since 1.4.6.4: +3 -3 lines
Diff to previous 1.4.6.4 (colored) to branchpoint 1.4 (colored)

Sync with head.

Revision 1.4.4.3 / (download) - annotate - [select for diffs], Sun Oct 14 11:48:32 2007 UTC (7 years ago) by yamt
Branch: yamt-x86pmap
Changes since 1.4.4.2: +6 -6 lines
Diff to previous 1.4.4.2 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

sync with head.

Revision 1.4.6.4 / (download) - annotate - [select for diffs], Fri Oct 12 17:03:17 2007 UTC (7 years ago) by ad
Branch: vmlocking
Changes since 1.4.6.3: +6 -6 lines
Diff to previous 1.4.6.3 (colored) to branchpoint 1.4 (colored)

Sync with head.

Revision 1.6.8.1, Thu Oct 11 19:41:13 2007 UTC (7 years ago) by matt
Branch: matt-armv6
Changes since 1.6: +0 -529 lines
FILE REMOVED

file puffs_node.c was added on branch matt-armv6 on 2007-11-06 23:31:15 +0000

Revision 1.6.4.1, Thu Oct 11 19:41:13 2007 UTC (7 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6: +0 -529 lines
FILE REMOVED

file puffs_node.c was added on branch yamt-lazymbuf on 2007-10-27 11:35:10 +0000

Revision 1.6 / (download) - annotate - [select for diffs], Thu Oct 11 19:41:13 2007 UTC (7 years ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base, jmcneill-base
Branch point for: yamt-lazymbuf, mjf-devfs, matt-armv6, bouyer-xenamd64
Changes since 1.5: +6 -6 lines
Diff to previous 1.5 (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.5 / (download) - annotate - [select for diffs], Wed Oct 10 20:42:24 2007 UTC (7 years ago) by ad
Branch: MAIN
Changes since 1.4: +4 -4 lines
Diff to previous 1.4 (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.4.6.3 / (download) - annotate - [select for diffs], Tue Oct 9 15:22:16 2007 UTC (7 years ago) by ad
Branch: vmlocking
Changes since 1.4.6.2: +8 -9 lines
Diff to previous 1.4.6.2 (colored) to branchpoint 1.4 (colored)

Sync with head.

Revision 1.4.6.2 / (download) - annotate - [select for diffs], Tue Oct 9 13:44:18 2007 UTC (7 years ago) by ad
Branch: vmlocking
Changes since 1.4.6.1: +529 -0 lines
Diff to previous 1.4.6.1 (colored) to branchpoint 1.4 (colored)

Sync with head.

Revision 1.4.4.2 / (download) - annotate - [select for diffs], Sat Oct 6 15:29:48 2007 UTC (7 years ago) by yamt
Branch: yamt-x86pmap
Changes since 1.4.4.1: +529 -0 lines
Diff to previous 1.4.4.1 (colored) to branchpoint 1.4 (colored)

sync with head.

Revision 1.4.2.2 / (download) - annotate - [select for diffs], Tue Oct 2 18:28:52 2007 UTC (7 years ago) by joerg
Branch: jmcneill-pm
Changes since 1.4.2.1: +529 -0 lines
Diff to previous 1.4.2.1 (colored) to branchpoint 1.4 (colored)

Sync with HEAD.

Revision 1.4.6.1, Tue Oct 2 01:17:17 2007 UTC (7 years ago) by ad
Branch: vmlocking
Changes since 1.4: +0 -529 lines
FILE REMOVED

file puffs_node.c was added on branch vmlocking on 2007-10-09 13:44:18 +0000

Revision 1.4.4.1, Tue Oct 2 01:17:17 2007 UTC (7 years ago) by yamt
Branch: yamt-x86pmap
Changes since 1.4: +0 -529 lines
FILE REMOVED

file puffs_node.c was added on branch yamt-x86pmap on 2007-10-06 15:29:48 +0000

Revision 1.4.2.1, Tue Oct 2 01:17:17 2007 UTC (7 years ago) by joerg
Branch: jmcneill-pm
Changes since 1.4: +0 -529 lines
FILE REMOVED

file puffs_node.c was added on branch jmcneill-pm on 2007-10-02 18:28:52 +0000

Revision 1.4 / (download) - annotate - [select for diffs], Tue Oct 2 01:17:17 2007 UTC (7 years ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base2
Branch point for: yamt-x86pmap, vmlocking, jmcneill-pm
Changes since 1.3: +8 -3 lines
Diff to previous 1.3 (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.3 / (download) - annotate - [select for diffs], Mon Oct 1 21:09:08 2007 UTC (7 years ago) by pooka
Branch: MAIN
Changes since 1.2: +14 -6 lines
Diff to previous 1.2 (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.2 / (download) - annotate - [select for diffs], Thu Sep 27 23:25:10 2007 UTC (7 years ago) by pooka
Branch: MAIN
Changes since 1.1: +4 -10 lines
Diff to previous 1.1 (colored)

comments & other minor maintenance

Revision 1.1 / (download) - annotate - [select for diffs], Thu Sep 27 23:21:08 2007 UTC (7 years ago) by pooka
Branch: MAIN

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

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>