The NetBSD Project

CVS log for src/lib/libpuffs/null.c

[BACK] Up to [cvs.NetBSD.org] / src / lib / libpuffs

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.36 / (download) - annotate - [select for diffs], Sat Sep 11 20:28:03 2021 UTC (2 years, 7 months ago) by andvar
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, HEAD
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored)

Add missing double p and d for stopped and overriden accordingly.
Fix few more typos along the way, mainly in copy-pasted comments.

Revision 1.33.40.1 / (download) - annotate - [select for diffs], Mon Apr 13 08:03:15 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.33: +17 -11 lines
Diff to previous 1.33 (colored) next main 1.34 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.35 / (download) - annotate - [select for diffs], Sat Nov 2 18:14:36 2019 UTC (4 years, 5 months ago) by tnn
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.34: +13 -8 lines
Diff to previous 1.34 (colored)

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)

Revision 1.34 / (download) - annotate - [select for diffs], Mon Sep 23 12:00:57 2019 UTC (4 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.33: +6 -5 lines
Diff to previous 1.33 (colored)

Restore binary compatibility by using the statvfs90 structure internally.

Revision 1.30.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:05:31 2012 UTC (11 years, 11 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
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 (12 years, 4 months ago) by manu
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, 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, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20190609, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb8-mediatek-base, matt-nb8-mediatek, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, localcount-20160914, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, agc-symver-base, agc-symver
Branch point for: phil-wifi
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 (12 years, 4 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 (12 years, 4 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 (12 years, 9 months 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 (12 years, 9 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 (14 years, 5 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 (15 years, 3 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 (15 years, 4 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 (15 years, 6 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 (15 years, 8 months ago) by pooka
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2
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 (16 years, 3 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 (16 years, 4 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 (16 years, 4 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 (16 years, 5 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 (16 years, 5 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 (16 years, 9 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 (16 years, 9 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 (16 years, 9 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 (16 years, 9 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 (16 years, 9 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 (16 years, 9 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 (16 years, 9 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 (16 years, 10 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 (17 years 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 (17 years 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 (17 years, 1 month 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 (17 years, 1 month 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 (17 years, 1 month 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 (17 years, 2 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 (17 years, 2 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 (17 years, 2 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 (17 years, 2 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 (17 years, 3 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 (17 years, 3 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 (17 years, 3 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 (17 years, 3 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.

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>