The NetBSD Project

CVS log for src/lib/libpuffs/puffs_ops.3

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

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.36 / (download) - annotate - [select for diffs], Thu Aug 16 11:28:38 2012 UTC (9 months, 1 week ago) by wiz
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-nbase, tls-maxphys-base, tls-maxphys, agc-symver-base, agc-symver, HEAD
Changes since 1.35: +8 -8 lines
Diff to previous 1.35 (colored)

Whitespace fixes. Bump date for previous.

Revision 1.35 / (download) - annotate - [select for diffs], Thu Aug 16 09:25:44 2012 UTC (9 months, 1 week ago) by manu
Branch: MAIN
Changes since 1.34: +25 -1 lines
Diff to previous 1.34 (colored)

Fix regression that has been introduced when the lookup/reclaim race
condition was addressed in libpuffs by counting lookups.

The fix assumes that cookies map to struct puffs_cookie, which has not
been documented as a requirement for filesystems using libpuffs. As an
example, we got burnt by this assumption in libp2k (kern/46734), and
we fixed bit by actually mapping libp2k cookies to struct puffs_node.

It is unlikely, but there may be third party filesystems that use cookies
unmapped to struct puffs_node, and they were left broken for now.

- we introduce a puffs_init() flag PUFFS_FLAG_PNCOOKIE that let filesystems
inform libpuffs that they map cookies to struct puffs_node. Is that flag
is used, the lookup/reclaim race condition fix is enabled. We enable the
flag for libp2k.

- filesystems that use puffs_pn_new() obviouslty use struct puffs_node
and gain PUFFS_FLAG_PNCOOKIE automatically even if they did not specify
it in puffs_init(). This include all our PUFFS filesystem in-tree except
libp2k.

- for filesystems not willing to use struct puffs_node, we introduce a
reclaim2 vnop, which is reclaim with an additionnal lookup count argument.
This vnop let the filesystem implement the lookup/reclaim race fix on
its own.

Revision 1.34 / (download) - annotate - [select for diffs], Sat Jul 28 09:56:09 2012 UTC (9 months, 3 weeks ago) by njoly
Branch: MAIN
Changes since 1.33: +1 -2 lines
Diff to previous 1.33 (colored)

Kill extra Fc macro.

Revision 1.33 / (download) - annotate - [select for diffs], Wed Jun 27 20:30:52 2012 UTC (10 months, 3 weeks ago) by wiz
Branch: MAIN
Changes since 1.32: +4 -4 lines
Diff to previous 1.32 (colored)

Bump date for previous, remove trailing whitespace.

Revision 1.32 / (download) - annotate - [select for diffs], Wed Jun 27 13:25:23 2012 UTC (10 months, 4 weeks ago) by manu
Branch: MAIN
Changes since 1.31: +27 -6 lines
Diff to previous 1.31 (colored)

Pass the FAF flag to handlers:
- setattr_ttl is updated to add a flag argument. Since it was not present in
  a previous release, we can change its API
- write2 is introduced, this is write with an extra flag for FAF.
- fsync already has the FAF information in a flag and needs no change
- for other operations, FAF is unconditional

Revision 1.31 / (download) - annotate - [select for diffs], Wed Apr 18 14:24:26 2012 UTC (13 months ago) by wiz
Branch: MAIN
CVS Tags: yamt-pagecache-base5
Changes since 1.30: +19 -17 lines
Diff to previous 1.30 (colored)

Bump date for previous.
New sentence, new line; remove trailing whitespace; fix typos;
punctuation nits.

Revision 1.30 / (download) - annotate - [select for diffs], Wed Apr 18 00:57:22 2012 UTC (13 months, 1 week ago) by manu
Branch: MAIN
Changes since 1.29: +79 -1 lines
Diff to previous 1.29 (colored)

- 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()

Revision 1.29 / (download) - annotate - [select for diffs], Mon Jul 4 08:07:30 2011 UTC (22 months, 3 weeks ago) by manu
Branch: MAIN
CVS Tags: yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base
Branch point for: yamt-pagecache, netbsd-6
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (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.28 / (download) - annotate - [select for diffs], Tue Apr 19 10:35:24 2011 UTC (2 years, 1 month ago) by manu
Branch: MAIN
CVS Tags: cherry-xenmp-base, cherry-xenmp
Changes since 1.27: +9 -9 lines
Diff to previous 1.27 (colored)

In node_lookup() ops, pcn->pcn_nameiop contains a NAMEI_* constant, not
PUFFSLOOKUP_*

Revision 1.27 / (download) - annotate - [select for diffs], Mon Dec 13 09:06:51 2010 UTC (2 years, 5 months ago) by pooka
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.26: +12 -2 lines
Diff to previous 1.26 (colored)

document abortop.  part of PR kern/44208

Revision 1.26 / (download) - annotate - [select for diffs], Fri May 21 11:20:50 2010 UTC (3 years ago) by pooka
Branch: MAIN
Changes since 1.25: +30 -8 lines
Diff to previous 1.25 (colored)

mention extended attribute ops

Revision 1.25 / (download) - annotate - [select for diffs], Sat Apr 11 16:48:53 2009 UTC (4 years, 1 month ago) by wiz
Branch: MAIN
CVS Tags: matt-premerge-20091211, jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.24: +3 -3 lines
Diff to previous 1.24 (colored)

New sentence, new line.

Revision 1.24 / (download) - annotate - [select for diffs], Sat Apr 11 15:37:12 2009 UTC (4 years, 1 month ago) by joerg
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

Fix markup.

Revision 1.23 / (download) - annotate - [select for diffs], Fri Feb 20 14:26:56 2009 UTC (4 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.22: +1 -10 lines
Diff to previous 1.22 (colored)

Remove the paragraph saying interfaces will change without warning.
Note that a stable version of puffs first appeared in NetBSD 5.0.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Nov 25 11:49:08 2008 UTC (4 years, 5 months ago) by pooka
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

i'm almost certain that puffs_cooie_t is supposed to be puffs_cookie_t

Revision 1.21 / (download) - annotate - [select for diffs], Tue Aug 12 19:44:39 2008 UTC (4 years, 9 months ago) by pooka
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, netbsd-5-base, netbsd-5-0-RC2, netbsd-5-0-RC1, matt-mips64-base2
Branch point for: netbsd-5
Changes since 1.20: +42 -37 lines
Diff to previous 1.20 (colored)

Replace void * by puffs_cookie_t where appropriate.  No functional change.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Dec 16 19:10:58 2007 UTC (5 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
Branch point for: wrstuden-revivesa
Changes since 1.19: +6 -5 lines
Diff to previous 1.19 (colored)

Clarify that link_target in node_symlink is null-terminated.

Revision 1.19 / (download) - annotate - [select for diffs], Sun Dec 2 19:43:10 2007 UTC (5 years, 5 months ago) by wiz
Branch: MAIN
CVS Tags: cube-autoconf-base, cube-autoconf
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)

Add comma in enumeration.

Revision 1.18 / (download) - annotate - [select for diffs], Sat Dec 1 19:18:50 2007 UTC (5 years, 5 months ago) by wiz
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

Fix a typo that has migrated across files.

Revision 1.17 / (download) - annotate - [select for diffs], Fri Nov 30 19:02:29 2007 UTC (5 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.16: +65 -65 lines
Diff to previous 1.16 (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.16 / (download) - annotate - [select for diffs], Tue Nov 27 11:31:19 2007 UTC (5 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.15: +26 -34 lines
Diff to previous 1.15 (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.15 / (download) - annotate - [select for diffs], Tue Jul 31 21:48:18 2007 UTC (5 years, 9 months ago) by pooka
Branch: MAIN
CVS Tags: matt-mips64-base, matt-armv6-prevmlocking
Branch point for: matt-mips64, matt-armv6
Changes since 1.14: +7 -3 lines
Diff to previous 1.14 (colored)

Per rumble's lead in vnodeops, clarify the bit about readdir cookies.

Revision 1.14 / (download) - annotate - [select for diffs], Wed Jul 25 09:10:26 2007 UTC (5 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: hpcarm-cleanup
Changes since 1.13: +11 -11 lines
Diff to previous 1.13 (colored)

* add missing credential handle to fsync args
* and now with more cosmetic attack

Revision 1.13 / (download) - annotate - [select for diffs], Wed Jul 25 08:31:19 2007 UTC (5 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.12: +20 -20 lines
Diff to previous 1.12 (colored)

pure cosmetics: minor facelift

Revision 1.12 / (download) - annotate - [select for diffs], Fri Jul 20 10:01:24 2007 UTC (5 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.11: +11 -2 lines
Diff to previous 1.11 (colored)

note caveat with puffs_node_poll

Revision 1.11 / (download) - annotate - [select for diffs], Thu Jul 19 19:25:09 2007 UTC (5 years, 10 months ago) by wiz
Branch: MAIN
Changes since 1.10: +12 -12 lines
Diff to previous 1.10 (colored)

Use HTML escapes. Drop trailing whitespace. Punctuation nits.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Jul 19 08:32:06 2007 UTC (5 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.9: +14 -2 lines
Diff to previous 1.9 (colored)

wizd reminded me that if I provide the synopsis for puffs_node_seek(),
I would do well to also describe what it does.  so make it so.

Revision 1.9 / (download) - annotate - [select for diffs], Wed Jul 18 21:41:06 2007 UTC (5 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.8: +6 -6 lines
Diff to previous 1.8 (colored)

uncomment puffs_node_seek - it's supported and in use

Revision 1.8 / (download) - annotate - [select for diffs], Wed Jul 18 21:24:40 2007 UTC (5 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.7: +19 -16 lines
Diff to previous 1.7 (colored)

puffs_cid* is always const

Revision 1.7 / (download) - annotate - [select for diffs], Thu Jul 5 22:37:52 2007 UTC (5 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.6: +111 -55 lines
Diff to previous 1.6 (colored)

apply ketchup to recent source changes in libpuffs

Revision 1.6 / (download) - annotate - [select for diffs], Fri May 18 14:38:15 2007 UTC (6 years ago) by pooka
Branch: MAIN
Changes since 1.5: +26 -6 lines
Diff to previous 1.5 (colored)

document puffs_node_poll

Revision 1.5 / (download) - annotate - [select for diffs], Wed May 9 13:46:16 2007 UTC (6 years ago) by pooka
Branch: MAIN
Changes since 1.4: +21 -2 lines
Diff to previous 1.4 (colored)

document puffs_setback()

Revision 1.4 / (download) - annotate - [select for diffs], Wed Apr 18 20:37:05 2007 UTC (6 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored)

fix readdir prototype

Revision 1.3 / (download) - annotate - [select for diffs], Tue Apr 17 13:11:05 2007 UTC (6 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.2: +98 -7 lines
Diff to previous 1.2 (colored)

* describe fhtonode, nodetofh and suspend
* update description of readdir to match reality

Revision 1.2 / (download) - annotate - [select for diffs], Tue Apr 17 10:14:27 2007 UTC (6 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.1: +228 -123 lines
Diff to previous 1.1 (colored)

improve markup and descriptions

Revision 1.1 / (download) - annotate - [select for diffs], Mon Apr 16 19:16:02 2007 UTC (6 years, 1 month ago) by pooka
Branch: MAIN

Move file system and node callbacks into their own manual page.
Improve markup and descriptions a bit (not completely finished yet).

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>