pooka
07b10a7b73
Add some support for unionfs (not built by default). It's still
...
missing at least opaque directory support, but until someone figures
out how that should work on ffs (see PR kern/kern/44383), there's
no point in trying to figure out how it should work here.
2011-01-13 13:35:11 +00:00
dholland
14402d0ff1
Abolish the SAVENAME and HASBUF flags. There is now always a buffer,
...
so the path in a struct componentname is now always valid during VOP
calls.
2010-11-30 10:43:01 +00:00
dholland
d4eb05390d
Abolish struct componentname's cn_pnbuf. Use the path buffer in the
...
pathbuf object passed to namei as work space instead. (For now a pnbuf
pointer appears in struct nameidata, to support certain unclean things
that haven't been fixed yet, but it will be going away in the future.)
This removes the need for the SAVENAME and HASBUF namei flags.
2010-11-30 10:29:57 +00:00
hannken
fb62bef947
Make holding v_interlock mandatory for callers of vget().
...
Announced some time ago on tech-kern.
2010-07-21 17:52:09 +00:00
pooka
083df92b14
return same errno as ffs
2010-07-14 16:03:49 +00:00
rmind
71cf548ad1
tmpfs_lookup: add comment, de-ident main path. No functional change.
...
tmpfs_dir_attach: add assert.
2010-07-02 03:29:47 +00:00
rmind
559464716e
tmpfs_bytes_max: use MIN() rather than min(), which returns int.
...
Spotted by Wolfgang Solfrank.
2010-06-28 19:32:43 +00:00
rmind
bf5767dcea
tmpfs_statvfs: hold accounting lock, since tmpfs_pages_avail() and
...
tmpfs_bytes_max() may fluctuate while in calculations.
2010-06-26 03:38:14 +00:00
hannken
1423e65b26
Clean up vnode lock operations pass 2:
...
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
2010-06-24 12:58:48 +00:00
rmind
fc8b3b7154
Replace tmpfs_pool custom allocator code with a simpler layer for memory
...
accounting. Use wired memory (which can be limited) for meta-data, and
kmem(9) for string allocations.
Close PR/31944. Fix PR/38361 while here. OK ad@.
2010-06-22 18:32:07 +00:00
pooka
0c20c076ce
Enforce RLIMIT_FSIZE before VOP_WRITE. This adds support to file
...
system drivers where it was missing from and fixes one buggy
implementation. The arguably weird semantics of the check are
maintained (v_size vs. va_bytes, overwrite).
2010-04-23 15:38:46 +00:00
pooka
242bf1c3e7
Stop exposing fifofs internals and leave only fifo_vnodeop_p visible.
2010-03-29 13:11:32 +00:00
pooka
6f6b6bc6df
\n, police!
2010-03-27 02:37:34 +00:00
pooka
4f49fb9915
Don't generate unused fs_thefs.h headers.
2010-03-02 16:43:48 +00:00
pooka
c3183f3251
The VATTR_NULL/VREF/VHOLD/HOLDRELE() macros lost their will to live
...
years ago when the kernel was modified to not alter ABI based on
DIAGNOSTIC, and now just call the respective function interfaces
(in lowercase). Plenty of mix'n match upper/lowercase has creeped
into the tree since then. Nuke the macros and convert all callsites
to lowercase.
no functional change
2010-01-08 11:35:07 +00:00
jmmv
df61ab1eba
Fix panic when trying to delete a directory entry (hi yamt!) by not
...
attempting to release a pnbuf that does not exist.
I.e. fixes "mkdir a ; unlink a/.". And actually, this was caught by the
automated tests.
2009-11-22 17:09:58 +00:00
rmind
7c653ba04c
Simplify tmpfs_itimes() and use vfs_timestamp(). Also, replace unnecessary
...
kmem_zalloc()s with kmem_alloc()s.
2009-11-11 09:59:41 +00:00
njoly
6a42e0741e
Make tmpfs write fail when process file size limit is reached.
2009-10-17 22:20:56 +00:00
rmind
9abdb3b71e
tmpfs_rename: handle hard-links correctly. Fixes PR/41236.
2009-10-06 00:17:24 +00:00
pooka
6d7c95dd93
"kauth_action_t = KAUTH_VNODE_WRITE_FLAGS;" must be C**. However,
...
we still use plain ISO C, so additionally supply the variable name.
Compile-tested only, but at least that's some testing.
2009-09-03 11:22:05 +00:00
elad
a162140107
Implement the vnode scope and adapt tmpfs to use it.
...
Mailing list reference:
http://mail-index.netbsd.org/tech-kern/2009/07/04/msg005404.html
2009-09-03 04:45:27 +00:00
elad
009f5d2f88
Where possible, extract the file-system's access() routine to two internal
...
functions: the first checking if the operation is possible (regardless of
permissions), the second checking file-system permissions, ACLs, etc.
Mailing list reference:
http://mail-index.netbsd.org/tech-kern/2009/06/21/msg005311.html
2009-07-03 21:17:40 +00:00
elad
870920260d
Move the implementation of vaccess() to genfs_can_access(), in line with
...
the other routines of the same spirit.
Adjust file-system code to use it.
Keep vaccess() for KPI compatibility and to keep element of least
surprise. A "diagnostic" message warning that vaccess() is deprecated will
be printed when it's used (obviously, only in DIAGNOSTIC kernels).
No objections on tech-kern@:
http://mail-index.netbsd.org/tech-kern/2009/06/21/msg005310.html
2009-06-23 19:36:38 +00:00
elad
863a01b5c1
Extract the open-coded authorization logic for chtimes() from various
...
file-systems and put it in a single function, genfs_can_chtimes().
This also makes UDF follow the same policy as all other file-systems.
Mailing list reference:
http://mail-index.netbsd.org/tech-kern/2009/04/27/msg004951.html
2009-05-07 19:30:29 +00:00
pooka
986e36ad6d
replace outdated comment. no functional change
2009-04-29 11:01:50 +00:00
elad
f68b0219b0
Per discussion on tech-kern@:
...
- Replace use of label/goto with returns
- Rename, change prototype of, and move functions from vfs_subr.c to
genfs_vnops.c
2009-04-22 22:57:08 +00:00
elad
386808d4a0
Refactor some duplicated file-system code.
...
Proposed and received no objections on tech-kern@:
http://mail-index.netbsd.org/tech-kern/2009/04/18/msg004843.html
2009-04-20 18:06:26 +00:00
yamt
c495a11d21
plug some pnbuf leaks.
2009-04-15 11:41:25 +00:00
markd
270aadb75a
For chown make auth checks consistent with UFS. Fixes PR kern/40933.
2009-04-11 11:59:04 +00:00
perry
e4c34b0c5f
SAVENAME was not set for rename and delete as required
...
Patch from christos, fixes pr 41183
2009-04-11 00:21:57 +00:00
yamt
63d0089e0e
- tmpfs_dir_lookup: simplify.
...
- add some assertions.
2009-04-10 03:40:05 +00:00
pooka
f505490c8d
Invariants should be tested for with KASSERT instead of semi-pretending
...
that them not holding is an acceptable error condition.
2009-04-05 15:10:41 +00:00
pooka
bb78ae5d1b
Fix yet another recent crashy bug in tmpfs rename: since the source
...
dirent is no longer cached in lookup and we do the lookup ourselves
in rename, we are most definitely not allowed to assert that it
matches the source vnode passed as an argument. In case the source
node does not exist or has been replaced, punt with ENOENT.
Also, nuke some misleading prehistoric comments which haven't been
valid in over a year.
Fixes PR kern/41128 by Nicolas Joly
2009-04-03 14:47:40 +00:00
pooka
5ac2257698
Release dvp in mknod error branch.
...
Nicolas Joly, PR kern/41006
2009-03-19 13:47:32 +00:00
pooka
4c7be59b17
If fdvp is tvp, do nothing. Prevents local DoS panic described in
...
PR kern/38219... maybe. This is hastily concocted fix for 5.0 and
I'm not sure if it has side-effects.
2009-02-07 19:42:57 +00:00
pooka
b4099c3e1d
Rototill all remaining file systems to use ubc_uiomove() instead
...
of the ubc_alloc() - uiomove() - ubc_release() dance.
2008-11-26 20:17:33 +00:00
pooka
f00b7c9b12
Solve the fstat-wants-to-look-at-kernel-data-structures in a nicer
...
way: don't export the fs internals to innocent userspace programs
which just want to mount the file system.
2008-07-29 09:10:09 +00:00
pooka
966308f7e8
shuffle around some more defs for fstat
...
noticed by Kurt Schreiner on current-users
2008-07-28 18:00:20 +00:00
pooka
97f4be43e9
Install mount argument structure header just like every other file system.
2008-07-28 12:42:12 +00:00
skd
4537375ada
add NULL arg so it will compile.
2008-06-20 00:07:47 +00:00
skd
8ec4d769f6
add arg so it will compile.
2008-06-19 23:57:22 +00:00
christos
13a3f67856
- setting the birthdate is valid in setattr.
...
- don't call nanotime if not needed.
- don't call tempfs_update() if tempfs_chtimes succeeded, because it just did.
2008-06-19 19:03:44 +00:00
rumble
a1221b6d4a
Convert file systems to dynamically attach with the new module interface.
...
Make VFS hooks dynamic while we're here and say farewell to VFS_ATTACH and
VFS_HOOKS_ATTACH linksets.
As a consequence, most of the file systems can now be loaded as new style
modules.
Quick sanity check by ad@.
2008-05-10 02:26:09 +00:00
ad
baa3395f8f
PR kern/38057 ffs makes assuptions about devvp file system
...
PR kern/33406 softdeps get stuck in endless loop
Introduce VFS_FSYNC() and call it when syncing a block device, if it
has a mounted file system.
2008-04-29 18:18:08 +00:00
martin
ce099b4099
Remove clause 3 and 4 from TNF licenses
2008-04-28 20:22:51 +00:00
jmmv
5a8838cb59
u_int is not a C99 standard type, so spell it out completely as
...
unsigned int.
2008-02-06 11:23:53 +00:00
jmmv
565f731b68
Drop trailing whitespace.
2008-02-06 11:22:12 +00:00
ad
1eba00507a
Limit kva usage to 8TB and the number of inodes to 2G. Should fix
...
PR kern/37951.
2008-02-05 15:02:45 +00:00
ad
d7b9a25622
Remove debugging code that's no longer needed.
2008-01-31 13:13:20 +00:00
ad
3490efcc63
Replace struct lock on vnodes with a simpler lock object built on
...
krwlock_t. This is a step towards removing lockmgr and simplifying
vnode locking. Discussed on tech-kern.
2008-01-30 09:50:19 +00:00