Commit Graph

1512 Commits

Author SHA1 Message Date
mlelstv d4e64f4071 At least fetch mount data pointer before using it.
Coverity CID 274767
2013-12-25 11:15:49 +00:00
mlelstv 8e1e9026ea At least fetch the mount data pointer before using it.
Coverity CID 274525
2013-12-25 11:11:55 +00:00
mlelstv 266e035aaa don't treat adjacent members as a larger array
Coverity CID 977367
2013-12-24 16:51:24 +00:00
hannken 7e0115bce6 It is not the task of sysvbfs_open() to check for unlinked nodes. 2013-12-24 09:56:18 +00:00
hannken 905b6b7730 It is not the task of tmpfs_open() to check for unlinked nodes.
Fix tmpfs_lookup() to always return ENOENT when looking up from
an unlinked directory.
2013-12-24 09:23:33 +00:00
christos 9c43792b5f CID 975205: Unchecked return value 2013-12-10 18:20:32 +00:00
wiz d860f590d4 Fix typo ("then" instead of "than") 2013-12-09 09:35:16 +00:00
christos 9d605174d9 Change the queue.3 *_END(&head) macros to NULL. Since we don't have CIRCLEQ
anymore, all the macros expand to NULL anyway, so this improves readability.
Requested by rmind@
2013-11-27 17:24:43 +00:00
rmind ccc45228d5 - tmpfs_construct_node: prevent from the new node construction if the
directory was removed.  Fixes the crash reported by Nicolas Joly.
- tmpfs_reclaim: avoid race by checking tn_links with the vnode locked.
2013-11-24 17:16:29 +00:00
rmind 63faa32f62 tmpfs_reg_resize: use size_t. 2013-11-23 21:53:27 +00:00
rmind b05b03890a Fix previous, add __diagused. 2013-11-23 17:01:07 +00:00
rmind e63cf28e67 - Simplify tmpfs_update(), eliminate tmpfs_note_t::tn_status and deferred
timestamp updates.  Fix some incorrect updates and plug some missing ones.
  Should fix PR/48385.
- tmpfs_rmdir: avoid O(n) scan when the directory is not empty and whiteout
  entries were never added.
2013-11-23 16:35:32 +00:00
christos 0b725b63c7 change the mountlist CIRCLEQ into a TAILQ 2013-11-23 13:35:36 +00:00
riz 1000f7c1af Don't create a variable just to assert() on it - assert on the
thing the variable got assigned.
2013-11-21 23:42:09 +00:00
rmind ace15189ad tmpfs_dir_getdotents: fix the recent regression, set the correct
d_fileno value for dot-dot.  Spotted by Pedro Martelletto, thanks!
2013-11-21 14:39:09 +00:00
rmind 884c21d51e v7fs: replace malloc(9) with kmem(9), fix a memory leak and few missing
mutex destruction cases in the error path.
2013-11-20 23:44:23 +00:00
rmind 8da90206bc Make tmpfs_node_t::tn_gen a 32-bit number, keep it in sync with tmpfs_fid_t.
Also, change tn_status to unsigned while here.
2013-11-18 01:39:34 +00:00
rmind 3033c7dc60 tmpfs_dir_getdents: avoid leaking kernel memory to the userspace.
From Pedro Martelletto.

XXX: regress/sys/fs/getdents should be a part of the test suite
2013-11-16 17:58:27 +00:00
rmind 6862603939 tmpfs_alloc_node: use cprng_fast64(), the old random(9) shall be removed. 2013-11-11 17:04:06 +00:00
rmind 89433ee6d9 Handle whiteout case in tmpfs_dir_detach() and tmpfs_unmount(). 2013-11-10 12:46:19 +00:00
christos 15bc40ee73 mark variable __diagused 2013-11-10 03:20:20 +00:00
rmind 1f5dbc945b tmpfs: replace the broken tmpfs_dircookie() logic which uses the node
address truncated to 31 bits (required for 32-bit readdir compatibility,
e.g. linux32).  Instead, assign 2^31 range using the following logic:
- The first half of the 2^31 is assigned incrementally (the fast path).
- When exceeded, use the second half of 2^31, but manage with vmem(9).

It will require 2 billion files per-directory to trigger vmem(9) usage.
Also, while here, add some fixes for tmpfs_unmount().

Should fix PR/47739, PR/47480, PR/46088 and PR/41068.
Thanks to wiz@ for stress testing.
2013-11-08 15:44:23 +00:00
christos 1aaac765ed - support advisory locking on ptys
- get the link count correct for .
XXX: pullup 6
2013-11-05 00:40:33 +00:00
hannken 690094cb2d Stop using v_mount of an unreferenced vnode -- save the mount while
the vnode has a reference.
2013-11-02 10:30:18 +00:00
rmind 20a51a9773 tmpfs: fix the zero-length symlink target case as NetBSD supports them. 2013-11-01 15:38:45 +00:00
mrg c77065c11b apply __diagused where appropriate. 2013-11-01 06:41:56 +00:00
rmind f8abe6cb77 tmpfs_alloc_node: it is less error-prone to store the link path with
the NIL terminator included.  Adjust tmpfs_readlink() to exclude NIL.
Also, remove the check for zero-length and add some asserts.
2013-10-31 00:59:17 +00:00
mrg 4cf2909a7b used __diagused where appropriate. 2013-10-30 08:41:38 +00:00
mrg cb7e28b713 use __diagused where appropriate. 2013-10-30 08:27:01 +00:00
christos 0d211931ed fix unused variable warnings 2013-10-20 21:13:15 +00:00
christos cb2fa8e0d7 Now that KASSERT will always consume its arguments, move a KASSERT inside
a DIAGNOSTIC, because the function used is only defined with DIAGNOSTIC.
2013-10-20 21:12:08 +00:00
christos 59f2a2f5c4 remove unused 2013-10-20 17:14:48 +00:00
christos de0d394bfe provide a function to access the name and extension as a single array as
opposed depend on array index overflow.
2013-10-20 00:01:55 +00:00
christos e7993db787 remove unused variables 2013-10-18 19:58:11 +00:00
christos 9ec4136d0a remove unused variable warnings 2013-10-18 19:57:28 +00:00
christos 91b2f42c8c fix unused variable warnings 2013-10-18 19:56:55 +00:00
christos 9fda064713 remove usused code 2013-10-17 21:04:44 +00:00
christos ba0dd1c1e6 remove unused code 2013-10-17 21:03:50 +00:00
christos 6069744732 - remove unused variables
- add _NOERROR flavor macros for the case where errors are ignored.
2013-10-17 21:03:27 +00:00
rmind 49ce9c94dc - tmpfs_remove: check 'appendable' flag for the parent directory as well.
Patch from Pedro Martelletto.
- tmpfs_dir_detach: remove missleading check.
- tmpfs_link: remove unused variable.
2013-10-04 15:14:11 +00:00
hannken 85b4f7dccf Remove a bogus vrecycle() from udf_inactive(). Vrecycle() works on inactive
vnodes while VOP_INACTIVE() should never be called on an inactive vnode.

Ok: Reinoud Zandijk <reinoud@netbsd.org>
2013-10-04 08:35:08 +00:00
rmind be67742670 tmpfs_remove: as per POSIX, "if the file's link count is not 0, the last
file status change timestamp of the file shall be marked for update."

From Pedro Martelletto.
2013-10-01 23:10:25 +00:00
hannken 3881f4f3f9 Replace macro v_specmountpoint with two functions spec_node_getmountedfs()
and spec_node_setmountedfs() to manage the file system mounted on a device.
Assert the device is a block device.

Welcome to 6.99.24

Discussed on tech-kern@ some time ago.

Reviewed by: David Holland <dholland@netbsd.org>
2013-09-30 18:57:59 +00:00
dholland 5724088cd3 Explain what's here. 2013-09-30 07:31:34 +00:00
dholland e63709eb76 The script for preparing an import of this nfs code. 2013-09-30 07:23:37 +00:00
dholland 6ca3558714 Import FreeBSD's "newnfs" nfs client and server code. This contains
nfsv4 as well as new implementations of nfsv3 and nfsv2.

This import is from tonight's FreeBSD head and is unchanged from there
except for automated munging of rcsids, rearranging of paths, and an
autogenerated files.* file that might or might not be syntactically
valid. (I will check in the script that does this shortly.)

There is not the slightest chance this will configure yet, let alone
compile or run.
2013-09-30 07:18:57 +00:00
reinoud 550f8483a8 Fix 32 bit issue in main file read-in function. On both 32 bit and 64 bit
hosts a missing cast would result in `garbage' after the 4Gbyte limit.
2013-08-09 20:13:18 +00:00
joerg 45b48fe34b Support tools build. 2013-08-05 17:02:54 +00:00
reinoud 420d7ac724 Remove udf_node * as state variables and add the loop invariants UFS and tmpfs
carry to make it easier to debug.
2013-07-16 10:49:36 +00:00
reinoud 4600888a4b First step in rewriting the genealogy case 2013-07-15 14:40:21 +00:00