christos
79e3c74f8e
Introduce genfs_pathconf() and use it for the default case in all filesystems.
2020-06-27 17:29:17 +00:00
christos
9aa2a9c323
Add ACL support for FFS. From FreeBSD.
2020-05-16 18:31:45 +00:00
ad
f5ad84fdb3
PR kern/54759 (vm.ubc_direct deadlock when read()/write() into mapping of itself)
...
- Add new flag UBC_ISMAPPED which tells ubc_uiomove() the object is mmap()ed
somewhere. Use it to decide whether to do direct-mapped copy, rather than
poking around directly in the vnode in ubc_uiomove(), which is ugly and
doesn't work for tmpfs. It would be nicer to contain all this in UVM but
the filesystem provides the needed locking here (VV_MAPPED) and to
reinvent that would suck more.
- Rename UBC_UNMAP_FLAG() to UBC_VNODE_FLAGS(). Pass in UBC_ISMAPPED where
appropriate.
2020-04-23 21:47:07 +00:00
reinoud
0376c5faf1
Move comment related to the sysctl_createv() in SYSCTL_SETUP() from the old
...
place to the new place too.
2020-04-14 12:47:44 +00:00
reinoud
b3745214b9
fix debug print flag
2020-04-14 11:45:42 +00:00
ad
23bf88000c
Replace most uses of vp->v_usecount with a call to vrefcnt(vp), a function
...
that hides the details and does atomic_load_relaxed(). Signature matches
FreeBSD.
2020-04-13 19:23:17 +00:00
hannken
aa1a83f41d
udf_get_node(): fix typo and honor "lktype" argument.
2020-04-06 14:31:06 +00:00
pgoyette
9120d4511b
Use the module subsystem's ability to process SYSCTL_SETUP() entries to
...
automate installation of sysctl nodes.
Note that there are still a number of device and pseudo-device modules
that create entries tied to individual device units, rather than to the
module itself. These are not changed.
2020-03-16 21:20:09 +00:00
ad
bf79731039
Tighten up the locking around vp->v_iflag a little more after the recent
...
split of vmobjlock & v_interlock.
2020-02-27 22:12:53 +00:00
ad
d2a0ebb67a
UVM locking changes, proposed on tech-kern:
...
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock.
- Break v_interlock and vmobjlock apart. v_interlock remains a mutex.
- Do partial PV list locking in the x86 pmap. Others to follow later.
2020-02-23 15:46:38 +00:00
ad
c2e9cb9413
VFS_VGET(), VFS_ROOT(), VFS_FHTOVP(): give them a "int lktype" argument, to
...
allow us to get shared locks (or no lock) on the returned vnode. Matches
FreeBSD.
2020-01-17 20:08:06 +00:00
msaitoh
a0403cde04
s/transfered/transferred/
2019-12-27 09:41:48 +00:00
maya
cede1cc99c
Switch files copyright Reinoud Zandijk from BSD 4 clause to BSD 2 clause.
...
OK'd by reinoud in email (from 4 Feb 2019).
2019-10-16 21:52:22 +00:00
christos
0da0aa0234
Add newly created vnodes to the namei cache. The rest of the filesystems
...
already did that (or they don't support writing). Discussed in tech-kern.
2019-09-18 17:59:14 +00:00
msaitoh
9ba4df1502
Fix typo in comment (s/seperate/separate/).
2019-06-03 06:04:20 +00:00
hannken
b689ec0f78
Add "void *extra" argument to vcache_new() so a file system may
...
pass more information about the file to create.
Welcome to 8.99.30
2019-01-01 10:06:54 +00:00
jdolecek
bcc384fdef
remove M_CANFAIL flag for malloc(9) - it was completely ignored, so had
...
actually no effect
2018-10-14 17:37:40 +00:00
reinoud
58853ff72b
Fix length calculation
2018-08-09 20:30:26 +00:00
reinoud
e44c6c6eea
Sync with UDFclient
2018-08-09 13:49:30 +00:00
kamil
982dbcfaff
Avoid undefined behavior in ecma167-udf.h
...
Define the UDF_EXT_* symbols as unsigned values.
This prevents undefined behavior of altering the signedness bit in a part
of them. Swap the remaining symbols to unsigned values to keep the
consistency.
Required by GCC when building with Undefined Behavior Sanitizer.
2018-07-25 19:56:56 +00:00
reinoud
5ed53e53ea
Enhance logical volume integrity descriptor handling and provide
...
bug-compatibility for Linux mkudffs 1.3 images.
2018-07-25 11:09:22 +00:00
maya
a50c06709e
Remove duplicate ;
2018-06-06 01:49:07 +00:00
chs
e406c140eb
add a genfs method to allow a file system to limit the range of pages
...
that are given to a single GOP_WRITE() call. needed by ZFS.
2018-05-28 21:04:37 +00:00
hannken
5985f10515
No need to call vflush from failing udf_mount(). If the system nodes
...
really have to disappear we should change vrele() to vrecycle() here.
2017-06-24 12:13:16 +00:00
riastradh
93562e3f53
Eliminate crusty debugging sludge.
...
We have a mostly sane vnode lifecycle now. If this needs debugging,
it should be done once at the call site of VOP_RECLAIM.
2017-05-26 14:34:19 +00:00
riastradh
7f7aad09bd
Make VOP_RECLAIM do the last unlock of the vnode.
...
VOP_RECLAIM naturally has exclusive access to the vnode, so having it
locked on entry is not strictly necessary -- but it means if there
are any final operations that must be done on the vnode, such as
ffs_update, requiring exclusive access to it, we can now kassert that
the vnode is locked in those operations.
We can't just have the caller release the last lock because some file
systems don't use genfs_lock, and require the vnode to remain valid
for VOP_UNLOCK to work, notably unionfs.
2017-05-26 14:20:59 +00:00
riastradh
6fa7b15833
Change VOP_REMOVE and VOP_RMDIR to preserve lock/ref on dvp.
...
No change to vp -- the plan is to replace the node by the
componentname in the vop parameters, and let all directory vops do
lookups internally.
Proposed on tech-kern with no objections:
https://mail-index.netbsd.org/tech-kern/2017/04/17/msg021825.html
2017-04-26 03:02:47 +00:00
riastradh
87fb32292e
Make VOP_INACTIVE preserve vnode lock on return.
...
Discussed on tech-kern:
https://mail-index.netbsd.org/tech-kern/2017/04/01/msg021751.html
Ride 7.99.68, a bumpy bus of incremental vfs improvements!
2017-04-11 14:24:59 +00:00
riastradh
30509f8074
KASSERT(mutex_owned(vp->v_interlock)) in vnode iterator selector.
2017-04-01 19:35:56 +00:00
hannken
326db3aaf6
Add generic genfs_suspendctl() and use it for all file systems.
...
Layered file systems need work.
2017-02-17 08:31:23 +00:00
christos
4faed551bb
PR/51777: David Binderman: Remove unused computation
2017-01-04 15:53:14 +00:00
hannken
7139aab724
Remove now obsolete operation vcache_remove().
...
Welcome to 7.99.36
2016-08-20 12:37:06 +00:00
msaitoh
8bc54e5be6
KNF. Remove extra spaces. No functional change.
2016-07-07 06:55:38 +00:00
reinoud
42866dd28d
Cleanup VAT writout. To prevent issues with the sequential writing strategy
...
trying to write on blocks that are lost due to the synchronisation, don't just
bluntly do synchronize device caches, but split out on strategies.
2016-05-24 09:55:57 +00:00
reinoud
46e9cd4dbd
Rework VAT searching on recordable media. It is now a lot more resilliant to
...
errors and it allows for VAT searching on crashed writeouts.
While here, make sure the node pointer is always initialised in
udf_get_node().
2016-05-10 15:23:39 +00:00
christos
d384368fae
It is meaningless to check the root node if there was an error.
2016-01-29 10:42:30 +00:00
reinoud
7f3b83e2df
Fix filename creation and deleting with illegal file names. UDF has a
...
machanism for it but it allowed to create a file with a name it considered
illegal that then couldn't be deleted with the same name.
Fixes PR kern/50608. When confirmed, it can be closed.
2016-01-27 00:06:49 +00:00
dholland
4caea7fde8
Improve misleading variable name. Related to PR 50571.
...
XXX: also there should be real bounds-check logic in here.
XXX: if the on-disk data structure contains rubbish this code will
XXX: leak or trample arbitrary kernel memory.
2015-12-19 03:16:09 +00:00
christos
e26a1063f5
add missing ,
2015-12-19 01:51:42 +00:00
christos
014d2807e0
PR/50571: David Binderman: src/sys/fs/udf/udf_subr.c:6465: obvious
...
performance tidyup
2015-12-19 01:18:00 +00:00
hannken
6495f9c3ba
Remove dubious vhold()/holdrele() from write_logvol_dscr strategies.
...
The udf_node already gets locked with UDF_LOCK_NODE() and udf_reclaim()
will wait for the lock to clear.
2015-10-06 08:57:34 +00:00
christos
9ef18f76ff
diagused some variables.
2015-09-12 19:50:08 +00:00
christos
c82c3049c6
remove identity assignment, found by brainy.
2015-09-12 19:33:03 +00:00
hannken
4207afb71b
Use vfs_vnode_iterator for udf_do_sync.
...
- Build rb_tree to get an ordered list of nodes, sync them and
clean the tree.
- Stop abusing mntvnode_lock to serialize udf_do_sync, use new
mutex ump->sync_lock instead.
2015-08-24 08:31:56 +00:00
hannken
f731f08d1c
Use vfs_vnode_iterator for udf_unmount_sanity_check.
2015-08-24 08:30:52 +00:00
hannken
09f7c2773a
Remove dirtynodes_cv, it is only used for timed waits without any signals.
...
Replace the cv_timedwait with kpause.
2015-08-24 08:30:17 +00:00
riastradh
46e71c7d57
Make VOP_LINK return directory still locked and referenced.
...
Ride 7.99.10 bump.
2015-04-20 22:59:19 +00:00
riastradh
f6139440c5
Make vget always return vnode unlocked.
...
Convert callers who want locks to use vn_lock afterward.
Add extra argument so the compiler will report stragglers.
2015-04-20 13:44:16 +00:00
hannken
a494ee15b8
Change udf to vcache, keyed on udf_node->loc.loc.
2015-04-06 08:39:23 +00:00
hannken
94abdca3c1
Move the removal of unlinked nodes from udf_inactive() to udf_reclaim().
2015-04-06 08:38:25 +00:00