History log of /src/lib/libpuffs/null.c |
Revision | | Date | Author | Comments |
1.36 |
| 11-Sep-2021 |
andvar | Add missing double p and d for stopped and overriden accordingly. Fix few more typos along the way, mainly in copy-pasted comments.
|
1.35 |
| 02-Nov-2019 |
tnn | puffs_null_node_fsync: don't leak directory handle
Directory handles returned by opendir must be closed by closedir. Also directory(3) says we mustn't close(2) descriptors returned by dirfd(3)
|
1.34 |
| 23-Sep-2019 |
christos | Restore binary compatibility by using the statvfs90 structure internally.
|
1.33 |
| 25-Nov-2011 |
manu | branches: 1.33.40; Rollback previous change as it breaks autmates tests
|
1.32 |
| 24-Nov-2011 |
manu | 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>
|
1.31 |
| 24-Nov-2011 |
manu | Remove pnode of overwritten file.
When puffs_null_node_rename() overwrites existing file, its pnode must�be removed, because src pnode already represents this file.
From Evgeniy Ivanov <lolkaantimat@gmail.com>
|
1.30 |
| 27-Jun-2011 |
manu | branches: 1.30.2; From Evgeniy Ivanov: puffs_node_readdir() should set eofflag to one, when end-of-directory is reached.
|
1.29 |
| 24-Jun-2011 |
manu | Commit fix for misc/45029. Approved by pooka@
|
1.28 |
| 18-Oct-2009 |
pooka | include some headers we use
|
1.27 |
| 08-Jan-2009 |
lukem | Cast a value to time_t (not unsigned) when comparing to timespec tv_sec
|
1.26 |
| 26-Nov-2008 |
pooka | 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.
|
1.25 |
| 12-Aug-2008 |
pooka | Replace void * by puffs_cookie_t where appropriate. No functional change.
|
1.24 |
| 30-Nov-2007 |
pooka | branches: 1.24.8; 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.
|
1.23 |
| 27-Nov-2007 |
pooka | 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.
|
1.22 |
| 05-Nov-2007 |
pooka | Call puffs_genfs_reclaim directly instead of through an extra jumpgate.
|
1.21 |
| 01-Jul-2007 |
pooka | branches: 1.21.4; 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.
|
1.20 |
| 01-Jul-2007 |
pooka | Instead of supplying a plain pid, supply an abstract struct puffs_cid *, which can currently be used to query the pid and lwpid.
|
1.19 |
| 25-Jun-2007 |
pooka | fold in common code for node creation. no functional change.
|
1.18 |
| 24-Jun-2007 |
pooka | 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.
|
1.17 |
| 24-Jun-2007 |
pooka | Introduce puffs_null_setops(), which initializes the ops vector with puffs nullfs ops.
|
1.16 |
| 24-Jun-2007 |
pooka | 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).
|
1.15 |
| 24-Jun-2007 |
pooka | 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.
|
1.14 |
| 06-Jun-2007 |
pooka | 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...
|
1.13 |
| 12-Apr-2007 |
pooka | 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().
|
1.12 |
| 11-Apr-2007 |
pooka | * support nodetofh and fhtonode callbacks * use new signature of node_readdir
|
1.11 |
| 16-Mar-2007 |
pooka | 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
|
1.10 |
| 16-Mar-2007 |
pooka | return errno instead of -1 if file is not present in lookup
|
1.9 |
| 13-Mar-2007 |
pooka | Create in-memory nodes only per unique inode, not unique pathname. Solves problem with e.g. cache coherency of hardlinked files.
|
1.8 |
| 15-Feb-2007 |
pooka | Readlink should place the length of the link (without terminating nul) in the length field. Make it so.
|
1.7 |
| 15-Feb-2007 |
pooka | use puffs_path_walkcmp() instead of a homegrown comparison routine
|
1.6 |
| 15-Feb-2007 |
pooka | * 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
|
1.5 |
| 27-Jan-2007 |
agc | If we can't set the attributes when making the directory, use rmdir to remove the directory, not unlink.
|
1.4 |
| 15-Jan-2007 |
pooka | 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.
|
1.3 |
| 11-Jan-2007 |
pooka | implement fsync
|
1.2 |
| 11-Jan-2007 |
pooka | * 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
|
1.1 |
| 11-Jan-2007 |
pooka | 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.
|
1.21.4.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.21.4.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.24.8.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.30.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.33.40.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|