hannken
accb62aedc
Change puffs from hashlist to vcache.
...
- field "pa_nhashbuckets" of struct "puffs_kargs" becomes a no-op.
and should be removed on the next protocol version bump.
2014-08-28 08:29:50 +00:00
maxv
5f2f7d8e15
Remove dead returns:
...
return VAR/func(XX);
return VAR;
The latter is never reached. Sent on tech-kern@, no disagreement.
2014-08-21 06:40:35 +00:00
manu
7642144c05
Add a oflags input field to open requests so that the filesystem can pass
...
back information about the file. Implement PUFFS_OPEN_IO_DIRECT, which
will force direct IO (bypassing page cache) for the file.
2014-08-16 16:19:41 +00:00
hannken
b041904f72
Needs HASH_SLIST, not HASH_LIST.
2014-08-16 07:22:30 +00:00
hannken
912cfee7bf
Change ptyfs to vcache.
...
- Use (type, minor) as key.
- Change ptyfs_allocvp to return a referenced vnode and lock where needed.
- Remove unneeded vnode backpointer ptyfs_vnode.
- Keep a single hashlist for pty nodes to make their attributes persistent.
OK: Christos Zoulas
2014-08-15 13:40:39 +00:00
maxv
b0e4602c25
Overflow if *data_len == OSIZE and args->version >= PTYFS_ARGSVERSION.
...
Sent on tech-kern@, ok christos@
2014-08-14 14:06:53 +00:00
hannken
2607f151da
- Add a map of active controlling ptys per mount and no longer abuse
...
the vnode lifecycle.
- No longer set "recycle" on VOP_INACTIVE().
- Make ptyfs_used_get() private to ptyfs_subr.c
- Stop copying device attributes from traditional ptys on first allocation.
- Remove unneeded argument "lwp" from ptyfs_allocvp() and ptyfs_free_get().
OK: Christos Zoulas
2014-08-13 14:10:00 +00:00
maxv
10b6c96ec4
http://m00nbsd.net/ae123a9bae03f7dde5c6d654412daf5a.html#Report-2
...
#04-0x01: Uninitialized var 'rqp' (does not compile anyway)
2014-08-12 06:57:20 +00:00
hannken
265f1d8cdb
Change hfs from hashlist to vcache.
...
- use (cnid, fork) as key.
- use pool for hfs nodes.
2014-08-10 08:53:22 +00:00
gson
f3b28c737c
Whitespace fix
2014-08-08 19:14:45 +00:00
hannken
5d6be57d01
Change efs from hashlist to vcache.
2014-08-07 08:24:23 +00:00
hannken
ea4bd7d40f
Change adosfs from hashlist to vcache.
...
- point ap->block to real file header block for hard links.
2014-08-05 08:50:54 +00:00
reinoud
e3b6b3457e
Posix requires the va_size of a symlink to be pathlength for symbolic links.
...
This fixes yet another atf case.
2014-07-29 15:48:22 +00:00
reinoud
60e6f474d5
Fix debug printout of udf_write_metadata_partition_spacetable(), it referred
...
to an old variable.
2014-07-29 15:36:43 +00:00
reinoud
a72b8dae23
Access time should only be set on accessing the data or messing with the
...
contents, not on inode access rights and ownership changes. Should address
PR kern/49033 for UDF.
Test results now come clean for bugs related to this issue in the ATF.
2014-07-29 11:10:12 +00:00
dholland
05d075b3ae
Add VOP_FALLOCATE and VOP_FDISCARD to every vnode ops table I can
...
find.
The filesystem ones all call genfs_eopnotsupp - right now I am only
implementing the plumbing and we can implement fallocate and/or
fdiscard for files later.
The device ones call spec_fallocate (which is also genfs_eopnotsupp)
and spec_fdiscard, which dispatches to the device-level op.
The fifo ones all call vn_fifo_bypass, which also ends up being
EOPNOTSUPP.
2014-07-25 08:20:51 +00:00
maxv
549e231932
Make DPRINTF more understandable, and replace my previous #ifdef DIAGNOSTIC...
2014-07-18 17:24:34 +00:00
maxv
8ee3c88d2b
Limit the minimum size of a disk sector to 512 bytes, to prevent memory
...
overflow on extremely low secsize. This normally conforms to the old standard
(for which there doesn't seem to be a clear spec). Since 2011, IDEMA's Advanced
Format standardizes it to 4k, so this change won't cause any trouble on
new devices.
Put the printf under DIAGNOSTIC temporarily to see if someone complains.
after a quick discussion on tech-kern
2014-07-16 20:09:00 +00:00
christos
c0371c86f3
Correct the bread size of struct fsinfo from Gerald Lee at DELL dot com
2014-07-15 11:43:54 +00:00
maxv
409868ac4b
smbfs depends on nsmb, so add the dependency as appropriate. Fixes
...
# modload smbfs
on modular kernels, PR kern/40011, and probably system crashes.
2014-07-14 16:29:50 +00:00
maxv
56ce0b03bc
Minor changes:
...
- malloc()+memset() -> malloc(|M_ZERO)
- rename 'vers' to 'FSVers'
- declare 'ExtFlags' instead of calling getushort() two times
2014-07-09 09:00:18 +00:00
maxv
8fce630b04
Remove ROOTNAME (unused).
2014-07-09 08:43:54 +00:00
maxv
1273c3cb8c
- Perform sanity checks not just for GEMDOSFS, but for all FAT devices. This
...
also fixes a division-by-zero bug that could crash the system.
- Define GEMDOSFS_BSIZE instead of a hard-coded 512 value, and remove 'bsize'.
- Rename 'tmp' to 'BlkPerSec'.
From me, FreeBSD, OpenBSD and the FAT specification.
ok christos@
2014-07-08 19:34:47 +00:00
hannken
798256c9ef
Change msdosfs from hashlist to vcache:
...
- Use (dir_cluster, dir_offset, dir_generation) as key, where
dir_generation is non-zero and unique for unlinked but open nodes.
- Change deget() to return a vnode as it is unsafe to return a
referenced but unlocked denode.
2014-07-08 09:21:52 +00:00
hannken
4f7c01f703
CID 1223346: No need to check bp against NULL. It is always valid here.
2014-06-22 09:47:40 +00:00
hannken
11b42c4183
Unlock directory vnode after VOP_CREATE.
2014-06-17 12:38:12 +00:00
hannken
69110c4ec6
Change cd9660 from hashlist to vcache.
2014-06-16 09:55:49 +00:00
hannken
605674c009
Remove the hints "isodir" and "relocated" from cd9660_vget_internal()
...
and always reread the directory entry by inumber. For directories
the directory entry is always its "." entry.
Always read directories via the device vnode to prevent buffer cache
inconsistency. Keep i_devvp as a hint for fstat(1) and friends and
always use im_devvp for reads. No need to vref()/vrele() i_devvp.
The additional bread is either cached because cd9660_lookup() just
released the buffer or will be used in the near future when the
directory gets traversed during lookup.
No objections on tech-kern@
2014-06-14 07:39:28 +00:00
pooka
a98adcf8d6
use psize_t for physical memory calculation
2014-06-13 11:57:48 +00:00
martin
b7650b1af5
Check for invalid mount arguments early and gracefully fail the mount.
...
Spotted by pooka@
2014-06-10 16:10:59 +00:00
martin
269c704651
Make sure to expand "freepages" to 64bit before shifting to byte values -
...
on rump we may have all our virtual address space "free".
Pointed out by pooka@.
2014-06-10 15:44:27 +00:00
martin
c7dd06b6bb
Remove the hardcoded 4 MB free kernel memory limit and replace it
...
by uvmexp.freetarg, as discussed on tech-kern.
Main purpose is to make tmpfs usable (as far as possible) on small memory
machines.
This is a bit experimental, but we need to give it some real world exposure
to see how well it works.
2014-06-07 09:54:34 +00:00
joerg
11581dcbbb
Introduce two helper functions to centralise the namecache statistics
...
in vfs_cache.c. Use consistent locking around the per-cpu data.
2014-06-03 19:30:29 +00:00
martin
755f765c3a
PR kern/48815: do not skip ';' twice when comparing file versions.
...
Patch from Thomas Schmitt.
2014-06-01 11:01:18 +00:00
hannken
de57916f59
msdosfs_reclaim(): add missing fstrans and protect change
...
of v_data with v_interlock as msdosfs_sync() now needs it.
2014-05-30 08:42:35 +00:00
rmind
ce079fc9c0
tmpfs_mknod: it is not our responsibility to call vput() on the directory
...
vnode, so remove it (and ensure *vpp is NULL while here).
2014-05-26 19:12:07 +00:00
christos
202570e1e0
use macro.
2014-05-25 19:33:28 +00:00
christos
50f00297b4
use standard dirty vnode test.
2014-05-25 19:32:36 +00:00
hannken
e03668ca99
The pageflush_selector gets a vnode with v_interlock held.
...
Remove the mutex_enter()/mutex_exit() and simplify.
Hi christos...
2014-05-25 17:43:47 +00:00
christos
02cb0c6eaf
Introduce a selector function to the vfs vnode iterator so that we don't
...
need to vget() vnodes that we are not interested at, and optimize locking
a bit. Iterator changes reviewed by Hannken (thanks), the rest of the bugs
are mine.
2014-05-24 16:34:03 +00:00
dholland
8e1257d82c
Also set or assert that *vpp is null before calling VOP_MKDIR.
2014-05-17 04:07:15 +00:00
dholland
3955d2067a
Set *vpp to NULL before calling VOP_CREATE. This always happens when
...
calling using nameidata, and if not something went wrong, so we'd like
to be able to assert about it.
2014-05-17 04:03:49 +00:00
martin
3638eee882
PR kern/48799: make filehandles properly use 64bit inodes on CD9660 file
...
systems. Patch from Thomas Schmitt, with slight modifications.
2014-05-13 17:05:26 +00:00
martin
b31205ebbb
PR kern/48787: inode calculation from ISO9660 block offset might get
...
truncated to 32bit - force the whole expression to be evaluated as ino_t.
Patch from Thomas Schmitt, with minor modifications (and reworded comment).
2014-05-10 14:11:58 +00:00
christos
71fd41685f
fix typo
2014-04-30 01:59:30 +00:00
christos
0172bc970f
handle MNT_UPDATE
2014-04-30 01:33:51 +00:00
pooka
45fe388485
Don't lock an already locked vnode.
2014-04-25 15:18:06 +00:00
maxv
23f76b6d00
An (un)privileged user can easily make the kernel dereference a NULL
...
pointer.
The kernel allows 'data' to be NULL; it's the fs's responsibility to
ensure that it isn't NULL (if the fs actually needs data).
ok christos@
2014-04-16 18:55:17 +00:00
jakllsch
6d9f89fe00
Use size_t instead of int for character count to avoid sign compare issues.
2014-04-06 19:25:22 +00:00
christos
c636575468
Handle multiple ptyfs mounts with different chroots. ptys opened in one
...
chroot are only visible in that chroot.
2014-04-04 18:10:29 +00:00
christos
4d87c37c1f
forgot to commit one patch:
...
Avoid returning released(free), but still hashed inode numbers.
(Ilya Zykov)
2014-03-27 21:13:06 +00:00
christos
a9253db65e
From Ilya Zykov:
...
- ifdef out some code that is only used for NO_DEV_PTM
- pass the mountpoint instead of the ptm structure to the implementation
dependent (ptyfs or bsdpty) functions.
- add a function to return the correct ptyfs mountpoint for the current lwp
2014-03-27 17:31:56 +00:00
christos
9b453fe1d0
if one of the ptyfs instances has grabbed the handle don't grab it again,
...
Ilya Zykov
2014-03-26 21:28:48 +00:00
christos
66873a203c
kill sprintf.
2014-03-25 16:30:28 +00:00
hannken
f3cf481632
- Make VI_XLOCK, VI_CLEAN and VI_LOCKSHARE private to kern/vfs_*.c.
...
- Make vwait() static.
- Add vdead_check() to check a vnode for being or becoming dead.
Discussed on tech-kern.
Welcome to 6.99.38
2014-03-24 13:42:40 +00:00
dholland
37ec3a866f
Tidy up locking in cd9660_mount; thrash the lock less, and make it
...
clear that the lock is only dropped when calling iso_mountfs().
While here, don't use the vnode pointer's value after vrele().
2014-03-24 04:03:25 +00:00
hannken
6d285189fb
Change all vfsops to use C99 designated initializers.
...
No functional changes intended.
2014-03-23 15:21:15 +00:00
christos
0f18888b15
fix unused
2014-03-23 09:30:59 +00:00
christos
74758fe57e
Ilya Zykov: Prepare readdir for multi-mountpoint use
2014-03-21 17:21:53 +00:00
christos
bf11f52a36
- return an error if we could not get the pts pathname
...
- correct getting pathname if the mount point inside a chroot
(Ilya Zykov)
2014-03-19 18:09:00 +00:00
hannken
fcb1d82829
Change smbfs_sync() to use vfs_vnode_iterator.
2014-03-17 09:37:09 +00:00
hannken
f9d8c5c8e8
Change pageflush() to use vfs_vnode_iterator.
2014-03-17 09:36:34 +00:00
hannken
b1e067f299
Change msdosfs_sync() to use vfs_vnode_iterator.
2014-03-17 09:35:59 +00:00
hannken
5e8d36ac30
Restructure union_lock() to always lock before testing for dead node.
...
Add two little helpers to lock or unlock a node. Use "vp" for the
union node and "lockvp" for the node to be locked. Use ISSET() to
test flags, add assertions.
2014-03-12 09:40:05 +00:00
hannken
2b6ec89863
The current implementation of vn_lock() is racy. Modification of
...
the vnode operations vector for active vnodes is unsafe because it
is not known whether deadfs or the original file system will be
called.
- Pass down LK_RETRY to the lock operation (hint for deadfs only).
- Change deadfs lock operation to return ENOENT if LK_RETRY is unset.
- Change all other lock operations to check for dead vnode once
the vnode is locked and unlock and return ENOENT in this case.
With these changes in place vnode lock operations will never succeed
after vclean() has marked the vnode as VI_XLOCK and before vclean()
has changed the operations vector.
Adresses PR kern/37706 (Forced unmount of file systems is unsafe)
Discussed on tech-kern.
Welcome to 6.99.33
2014-02-27 16:51:37 +00:00
pooka
4f6fb3bf35
Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before
...
the sysctl link sets are processed, and remove redundancy.
Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate
lines of code.
2014-02-25 18:30:08 +00:00
maxv
1036f1d9fc
Adapt my previous patch differently. read(2) wants EISDIR when the
...
object is a directory. Which also means that tmpfs_read() was returning
a wrong error code when dealing with non-regular vnodes.
2014-02-17 20:16:52 +00:00
maxv
6b47753f22
Fix tmpfs_read()'s return value; it should return EINVAL. Now consistent with
...
tmpfs_write().
ok christos@
2014-02-16 12:54:07 +00:00
hannken
c36eeb723b
Change union_allocvp() to take an unlocked uppervp and to return the
...
union node unlocked. Another VI_XLOCK hack is gone.
2014-02-16 09:50:25 +00:00
hannken
32bc55a7e7
Member un_flags is unused now -- remove.
2014-02-14 08:50:27 +00:00
martin
478bc1f91d
Remove an unused variable
2014-02-13 21:05:26 +00:00
hannken
8757071efb
Get rid of UN_KLOCK to keep a lock on vput(). It is not really needed
...
and makes the source difficult to read. Always hold references to the
union nodes until the operation is done.
2014-02-13 09:55:04 +00:00
hannken
15a20e1e67
Fix the DOT and DOTDOT case for union_lookup1().
2014-02-13 09:50:31 +00:00
hannken
97834f7ba0
Change vnode operation lookup to return the resulting vnode *vpp unlocked.
...
Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
2014-02-07 15:29:20 +00:00
hannken
b9c5e8c0f7
Remove an annoying printf. And to answer the question: VFS_VGET() gets
...
used by NFS V3 server for readdirplus.
2014-02-06 16:18:38 +00:00
martin
dfd92bb472
Bogus gcc 4.8 maybe use uninitialized warning
2014-01-28 13:23:49 +00:00
hannken
04c776e5c8
Change vnode operations create, mknod, mkdir and symlink to return
...
the resulting vnode *vpp unlocked.
Discussed on tech-kern@
Welcome to 6.99.30
2014-01-23 10:13:55 +00:00
hannken
1139274440
Change vnode operations create, mknod, mkdir and symlink to keep the
...
directory node dvp locked on return.
Discussed on tech-kern@
Welcome to 6.99.29
2014-01-17 10:55:01 +00:00
pedro
65d0f0003c
Prevent a diagnostic assertion in tmpfs_rmdir() from being triggered
...
through an rmdir on ".." by moving it so it happens after the check for
empty directories; OK rmind@.
2014-01-10 16:42:38 +00:00
hannken
9cd2f4b930
Operation sysvbfs_remove() destructs inodes attached to active vnodes.
...
Defer the destruction to sysvbfs_reclaim().
Disable test t_renamerace:sysvbfs_renamerace as it will exhaust the
inode table (sysvbfs has space for 8 inodes only).
Ok: Izumi Tsutsui <tsutsui@netbsd.org>
2014-01-09 13:23:57 +00:00
pedro
0cc071bd88
Allocate direntp on the stack in tmpfs_dir_getdents(), thus saving
...
calls to kmem_zalloc() and kmem_free(); OK rmind@. From OpenBSD.
2014-01-08 16:11:04 +00:00
hannken
b04f8aa83f
Fix a race where thread1 runs VOP_REMOVE() and gets preempted in
...
tmpfs_reclaim() before the call to tmpfs_free_node(). Thread2
runs VFS_FHTOVP() and gets a new vnode attached to the node thread1
is about to destroy.
Change tmpfs_fhtovp() to check the generation number after
tmpfs_vnode_get() succeeded.
2014-01-04 12:36:49 +00:00
hannken
8ea5485de5
Fix a race where thread1 runs VOP_REMOVE() and gets preempted in
...
tmpfs_reclaim() before the call to tmpfs_free_node(). Thread2
runs VFS_FHTOVP() and gets a new vnode attached to the node thread1
is about to destroy.
Change tmpfs_alloc_node() to always assign non-zero generation number
and tmpfs_inactive() to set the generation number of unlinked nodes
to zero.
2014-01-03 09:53:12 +00:00
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
reinoud
0eb394b1d0
udf_gro_genealogy() : source and destination should never be the same on call,
...
KASSERT it instead of checking for it.
2013-07-13 19:42:26 +00:00
reinoud
a987c68f3a
vp is used, so don't (void) it
2013-07-13 19:40:14 +00:00
reinoud
2b15913865
Rework udf_gro_rename() to be more linear instead of nesting if/else
...
branching.
2013-07-13 19:39:02 +00:00
reinoud
8ad309e64f
In case there is trouble determining the number of entries in a directory,
...
return its not empty to be on the safe side.
2013-07-12 16:14:10 +00:00
reinoud
d9c51d931b
Resort to the easiest way to check if a directory is deleted: the flag that
...
tells that there is no FID (dirent) pointing to it anymore.
2013-07-11 19:41:19 +00:00
reinoud
da86562477
Small cleanup
2013-07-11 15:43:12 +00:00
reinoud
c689e7fed3
Remove the dirent checks and references. UDF doesn't need/use them on rename
...
so just to make sure, we remove all references/checks to not trigger bugs
thats are not really ours.
2013-07-10 19:14:07 +00:00
reinoud
a7795a09e4
Implement udf_rename() using the new genfs_rename() framework.
...
Fixes PR kern/47986
2013-07-10 15:10:56 +00:00
reinoud
1cabaf0e68
Clarify the sticky-bit check
2013-07-08 08:21:12 +00:00
reinoud
a0054fd5a4
Pull forward the node creation returned from the lookup call. Its vnode is
...
used in the access determination on delete/rename of TXT files.
Thanks for joerg@ and clang for detecting this!
2013-07-07 20:16:22 +00:00
reinoud
eb513d5160
Implement a real empty-directory checking for rmdir().
...
Should should fix the other part of PR kern/47987
Solves tests/vfs/t_vnops udf_dir_notempty
2013-07-07 19:49:44 +00:00
reinoud
d2126d9622
Fixes chflags. They were silently rejected before but the VFS standard demands
...
it complains with EOPNOTSUPP.
Fixes chflags test case.
2013-07-05 20:40:20 +00:00
reinoud
16cc237e7c
Provide additional checks to udf_lookup and restructure it a bit.
...
Should fix PR 47988
2013-07-05 20:04:57 +00:00
reinoud
1a547d0334
Remove spurious empty line
2013-07-03 15:39:22 +00:00
reinoud
ab09c24f7a
On removing a directory make sure the leaf directory doesn't have a valid '..'
...
link anymore. In a corner case this leaf can be held by a process as a CWD. It
is guaranteed to be empty at this stage so we trunc it removing the only valid
FID, being the '..' entry.
Solves part of PR kern/47987
Solves tests/vfs/t_vnops udf_dir_rmdirdotdot
2013-07-03 14:35:28 +00:00
reinoud
e6b5374ef7
Typo in debug message: we are removing a directory and not a file.
2013-07-03 12:55:34 +00:00
reinoud
d0b9530090
On growing a node that was recorded inside the (E)FE, don't forget to set the
...
size of the node to the NEW size. This was reported by the `t_io
udf_shrinkfile' testcase.
Fixes PR kern/47985
2013-07-03 11:50:59 +00:00