Up to [cvs.netbsd.org] / src / lib / libpuffs
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.30.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:05:31 2012 UTC (5 weeks, 4 days ago) by yamt
Branch: yamt-pagecache
Changes since 1.30: +6 -2
lines
Diff to previous 1.30 (colored) next main 1.31 (colored)
sync with head
Revision 1.33 / (download) - annotate - [select for diffs], Fri Nov 25 15:02:02 2011 UTC (6 months ago) by manu
Branch: MAIN
CVS Tags: yamt-pagecache-base5,
yamt-pagecache-base4,
netbsd-6-base,
netbsd-6,
HEAD
Changes since 1.32: +4 -4
lines
Diff to previous 1.32 (colored)
Rollback previous change as it breaks autmates tests
Revision 1.32 / (download) - annotate - [select for diffs], Thu Nov 24 01:58:52 2011 UTC (6 months ago) by manu
Branch: MAIN
Changes since 1.31: +4 -4
lines
Diff to previous 1.31 (colored)
Remove files specified in pcn. When remove files using name from pnode, another link on this file can be unlinked. E.g. "touch 1; ln 1 2; rm 2" will remove file named "1". Thus puffs_null_node_remove should remove directory entry which name is provided by pcn (as said in puffs_ops.3). Caller should provide appropriately initialized pcn. From Evgeniy Ivanov <lolkaantimat@gmail.com>
Revision 1.31 / (download) - annotate - [select for diffs], Thu Nov 24 01:55:33 2011 UTC (6 months ago) by manu
Branch: MAIN
Changes since 1.30: +6 -2
lines
Diff to previous 1.30 (colored)
Remove pnode of overwritten file. When puffs_null_node_rename() overwrites existing file, its pnode must âe removed, because src pnode already represents this file. From Evgeniy Ivanov <lolkaantimat@gmail.com>
Revision 1.30 / (download) - annotate - [select for diffs], Mon Jun 27 12:06:19 2011 UTC (10 months, 4 weeks ago) by manu
Branch: MAIN
CVS Tags: yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base
Branch point for: yamt-pagecache
Changes since 1.29: +8 -3
lines
Diff to previous 1.29 (colored)
From Evgeniy Ivanov: puffs_node_readdir() should set eofflag to one, when end-of-directory is reached.
Revision 1.29 / (download) - annotate - [select for diffs], Fri Jun 24 16:59:29 2011 UTC (11 months ago) by manu
Branch: MAIN
Changes since 1.28: +27 -12
lines
Diff to previous 1.28 (colored)
Commit fix for misc/45029. Approved by pooka@
Revision 1.28 / (download) - annotate - [select for diffs], Sun Oct 18 20:14:06 2009 UTC (2 years, 7 months ago) by pooka
Branch: MAIN
CVS Tags: matt-premerge-20091211,
matt-mips64-premerge-20101231,
cherry-xenmp-base,
cherry-xenmp,
bouyer-quota2-nbase,
bouyer-quota2-base,
bouyer-quota2
Changes since 1.27: +4 -2
lines
Diff to previous 1.27 (colored)
include some headers we use
Revision 1.27 / (download) - annotate - [select for diffs], Thu Jan 8 02:19:48 2009 UTC (3 years, 4 months ago) by lukem
Branch: MAIN
CVS Tags: jym-xensuspend-nbase,
jym-xensuspend-base,
jym-xensuspend
Changes since 1.26: +4 -4
lines
Diff to previous 1.26 (colored)
Cast a value to time_t (not unsigned) when comparing to timespec tv_sec
Revision 1.26 / (download) - annotate - [select for diffs], Wed Nov 26 14:02:23 2008 UTC (3 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.25: +102 -3
lines
Diff to previous 1.25 (colored)
support: a) readdir cookies and eofflag b) file handle routines. File handle routines are REALLY ugly and are not stable, i.e. the file handle will be lost if the file server goes byebye. They probably should be redone to not use getfh(), but for nullfs I wanted to make them the same as when the file system is accessed without the null layer. Well, turns out it doesn't pass anyway since the kernel adds the fsid tags for fhandle_t. Anyway, it's useful for some limited hacking purposes, so I'll commit this since it works .. kinda.
Revision 1.24.8.1 / (download) - annotate - [select for diffs], Thu Sep 18 04:39:24 2008 UTC (3 years, 8 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.24: +28 -27
lines
Diff to previous 1.24 (colored) next main 1.25 (colored)
Sync with wrstuden-revivesa-base-2.
Revision 1.25 / (download) - annotate - [select for diffs], Tue Aug 12 19:44:39 2008 UTC (3 years, 9 months ago) by pooka
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3,
wrstuden-revivesa-base-2,
netbsd-5-base,
netbsd-5-1-RELEASE,
netbsd-5-1-RC4,
netbsd-5-1-RC3,
netbsd-5-1-RC2,
netbsd-5-1-RC1,
netbsd-5-1-2-RELEASE,
netbsd-5-1-1-RELEASE,
netbsd-5-1,
netbsd-5-0-RELEASE,
netbsd-5-0-RC4,
netbsd-5-0-RC3,
netbsd-5-0-RC2,
netbsd-5-0-RC1,
netbsd-5-0-2-RELEASE,
netbsd-5-0-1-RELEASE,
netbsd-5-0,
netbsd-5,
matt-nb5-pq3-base,
matt-nb5-pq3,
matt-nb5-mips64-u2-k2-k4-k7-k8-k9,
matt-nb5-mips64-u1-k1-k5,
matt-nb5-mips64-premerge-20101231,
matt-nb5-mips64-premerge-20091211,
matt-nb5-mips64-k15,
matt-nb5-mips64,
matt-nb4-mips64-k7-u2a-k9b,
matt-mips64-base2
Changes since 1.24: +28 -27
lines
Diff to previous 1.24 (colored)
Replace void * by puffs_cookie_t where appropriate. No functional change.
Revision 1.21.4.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:36:46 2008 UTC (4 years, 4 months ago) by matt
Branch: matt-armv6
Changes since 1.21.4.1: +25 -32
lines
Diff to previous 1.21.4.1 (colored) to branchpoint 1.21 (colored) next main 1.22 (colored)
sync with HEAD
Revision 1.24 / (download) - annotate - [select for diffs], Fri Nov 30 19:02:28 2007 UTC (4 years, 5 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-pf42-baseX,
yamt-pf42-base4,
yamt-pf42-base3,
yamt-pf42-base2,
yamt-pf42-base,
yamt-pf42,
wrstuden-revivesa-base-1,
wrstuden-revivesa-base,
matt-armv6-nbase,
matt-armv6-base,
keiichi-mipv6-base,
keiichi-mipv6,
hpcarm-cleanup-nbase,
hpcarm-cleanup-base,
cube-autoconf-base,
cube-autoconf
Branch point for: wrstuden-revivesa
Changes since 1.23: +22 -27
lines
Diff to previous 1.23 (colored)
Rototill. Ok, ok, a few more words about it: stop holding puffs_cc as a holy value and passing it around to almost every possible place (popquiz: which kernel variable does this remind you of?). Instead, pass the natural choice, puffs_usermount, and fetch puffs_cc via puffs_cc_getcc() only in routines which actually need it. This not only simplifies code, but (thanks to the introduction of puffs_cc_getcc()) enables constructs which weren't previously sanely possible, say layering as a curious example. There's still a little to do on this front, but this was the major fs interface blast.
Revision 1.23 / (download) - annotate - [select for diffs], Tue Nov 27 11:31:19 2007 UTC (4 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.22: +6 -8
lines
Diff to previous 1.22 (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.21.4.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:11:52 2007 UTC (4 years, 6 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.21: +3 -12
lines
Diff to previous 1.21 (colored)
sync with HEAD
Revision 1.22 / (download) - annotate - [select for diffs], Mon Nov 5 16:53:00 2007 UTC (4 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.21: +3 -12
lines
Diff to previous 1.21 (colored)
Call puffs_genfs_reclaim directly instead of through an extra jumpgate.
Revision 1.21 / (download) - annotate - [select for diffs], Sun Jul 1 18:39:39 2007 UTC (4 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: matt-mips64-base,
matt-mips64,
hpcarm-cleanup
Branch point for: matt-armv6
Changes since 1.20: +26 -24
lines
Diff to previous 1.20 (colored)
Instead of requesting various pieces of information from node-creating methods using "please fill me"-pointers, pass "struct puffs_newinfo *" and provide methods to fill in new node info.
Revision 1.20 / (download) - annotate - [select for diffs], Sun Jul 1 17:22:18 2007 UTC (4 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.19: +11 -8
lines
Diff to previous 1.19 (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.19 / (download) - annotate - [select for diffs], Mon Jun 25 07:52:01 2007 UTC (4 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.18: +38 -73
lines
Diff to previous 1.18 (colored)
fold in common code for node creation. no functional change.
Revision 1.18 / (download) - annotate - [select for diffs], Sun Jun 24 23:02:55 2007 UTC (4 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.17: +18 -2
lines
Diff to previous 1.17 (colored)
Since we locate in-memory nodes based on the inode number, stat a file always after creation to cache the inode number given by the backend file system. Otherwise we would not find a newly created node from incore and create another one. In practise this was pretty well hidden by the kernel name cache.
Revision 1.17 / (download) - annotate - [select for diffs], Sun Jun 24 18:42:25 2007 UTC (4 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.16: +30 -2
lines
Diff to previous 1.16 (colored)
Introduce puffs_null_setops(), which initializes the ops vector with puffs nullfs ops.
Revision 1.16 / (download) - annotate - [select for diffs], Sun Jun 24 17:55:07 2007 UTC (4 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.15: +4 -2
lines
Diff to previous 1.15 (colored)
Introduce puffs_pn_remove() to signal that a node has been deleted and destroyed, but not yet reclaimed. This prevents puffs_pn_nodewalk() from returning stale entries. Make nullfs use this (some file systems are a bit too happy with recycling inode numbers).
Revision 1.15 / (download) - annotate - [select for diffs], Sun Jun 24 17:41:09 2007 UTC (4 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.14: +5 -5
lines
Diff to previous 1.14 (colored)
don't return errno from a function which returns an fd - there's a "little" room for confusion. instead, return -1 and let the caller grab errno.
Revision 1.14 / (download) - annotate - [select for diffs], Wed Jun 6 01:55:01 2007 UTC (4 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.13: +2 -5
lines
Diff to previous 1.13 (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.13 / (download) - annotate - [select for diffs], Thu Apr 12 15:09:01 2007 UTC (5 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.12: +3 -3
lines
Diff to previous 1.12 (colored)
Hide struct puffs_usermount from the rest of the world and provide accessors for interesting data in it. Namely, you can now get pu->pu_privdata with puffs_getspecific(), pu->pu_pn_root with puffs_set/getroot() and pu->pu_maxreqlen with puffs_getmaxreqlen().
Revision 1.12 / (download) - annotate - [select for diffs], Wed Apr 11 21:04:51 2007 UTC (5 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.11: +4 -3
lines
Diff to previous 1.11 (colored)
* support nodetofh and fhtonode callbacks * use new signature of node_readdir
Revision 1.11 / (download) - annotate - [select for diffs], Fri Mar 16 08:14:49 2007 UTC (5 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.10: +5 -3
lines
Diff to previous 1.10 (colored)
va->va_mode doesn't contain the full argument to the mknod() system call, so introduce puffs_addvtype2mode() and use that in null.c to generate the proper syscall argument
Revision 1.10 / (download) - annotate - [select for diffs], Fri Mar 16 07:43:14 2007 UTC (5 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.9: +3 -3
lines
Diff to previous 1.9 (colored)
return errno instead of -1 if file is not present in lookup
Revision 1.9 / (download) - annotate - [select for diffs], Tue Mar 13 17:05:23 2007 UTC (5 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.8: +15 -5
lines
Diff to previous 1.8 (colored)
Create in-memory nodes only per unique inode, not unique pathname. Solves problem with e.g. cache coherency of hardlinked files.
Revision 1.8 / (download) - annotate - [select for diffs], Thu Feb 15 19:33:51 2007 UTC (5 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.7: +3 -3
lines
Diff to previous 1.7 (colored)
Readlink should place the length of the link (without terminating nul) in the length field. Make it so.
Revision 1.7 / (download) - annotate - [select for diffs], Thu Feb 15 17:05:25 2007 UTC (5 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.6: +4 -14
lines
Diff to previous 1.6 (colored)
use puffs_path_walkcmp() instead of a homegrown comparison routine
Revision 1.6 / (download) - annotate - [select for diffs], Thu Feb 15 12:51:45 2007 UTC (5 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.5: +24 -56
lines
Diff to previous 1.5 (colored)
* get rid of the holy kernel-given ISDOTDOT, and instead define a macro which does strcmp against ".." and (the untranslated) componentname * make PUFFS_FLAG_BUILDPATH build paths also if dotdot is the case, and adapt the regular path objects to this * make nullfs lookup readable because we can now get rid of dotdot processing there
Revision 1.5 / (download) - annotate - [select for diffs], Sat Jan 27 11:49:44 2007 UTC (5 years, 3 months ago) by agc
Branch: MAIN
Changes since 1.4: +3 -3
lines
Diff to previous 1.4 (colored)
If we can't set the attributes when making the directory, use rmdir to remove the directory, not unlink.
Revision 1.4 / (download) - annotate - [select for diffs], Mon Jan 15 00:39:02 2007 UTC (5 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.3: +45 -37
lines
Diff to previous 1.3 (colored)
Checkpoint some more work in progress: for the benefit those file system backends which operate purely based on paths, push out more path management into the library and make path management more abstract: enable a file system to define a bunch of path management callbacks, which are used by the framework. Management of normal /this/is/a/path type paths is provided by the library.
Revision 1.3 / (download) - annotate - [select for diffs], Thu Jan 11 17:48:21 2007 UTC (5 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.2: +74 -29
lines
Diff to previous 1.2 (colored)
implement fsync
Revision 1.2 / (download) - annotate - [select for diffs], Thu Jan 11 14:59:35 2007 UTC (5 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.1: +38 -13
lines
Diff to previous 1.1 (colored)
* do the l-variations of syscalls, since some nodes are symlinks * truncate only regular files to set size * do the chmod()-dance for cache flush to now write-protected files until I can think of a nicer way to solve this
Revision 1.1 / (download) - annotate - [select for diffs], Thu Jan 11 01:01:55 2007 UTC (5 years, 4 months ago) by pooka
Branch: MAIN
Add preliminary code for a nullfs layer, which can be used to mount a directory hierarchy to another point, just like with the kernel nullfs. This is not really a layering scheme yet, but it should evolve into one. Currently it can just be used to do 1:1 mapping.