History log of /src/sys/nfs/nfs_clntsubs.c |
Revision | | Date | Author | Comments |
1.7 |
| 21-Mar-2023 |
christos | PR/57279: Izumi Tsutsui: Fix some {int,long} -> time_t. Still things will break eventually because parts of the nfs protocol assume time_t will fit in 32 bits.
|
1.6 |
| 28-Feb-2022 |
hannken | branches: 1.6.4; Revert the hack from the last commit now that VOP_UNLOCK() no longer may hold v_interlock or vmobjlock.
|
1.5 |
| 14-Jan-2022 |
christos | This is a temporary hack to avoid nfs crashes related to nfs_delaytruncate.
|
1.4 |
| 23-Feb-2020 |
ad | 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.
|
1.3 |
| 03-Sep-2018 |
riastradh | branches: 1.3.6; Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
1.2 |
| 12-Jun-2011 |
rmind | branches: 1.2.52; 1.2.54; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
1.1 |
| 02-Mar-2010 |
pooka | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.12; Get rid of dependency on fs_nfs.h, i.e. source modules with conditional content depending on if the NFS client is wanted or not. The server can now be made an independent module not depending on the nfs client.
Tested with rump_nfs (standalone client), rump_nfsd (standalone nfsd) and a qemu installation with both the client and the server.
|
1.1.12.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.1.6.2 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.1.6.1 |
| 02-Mar-2010 |
uebayasi | file nfs_clntsubs.c was added on branch uebayasi-xip on 2010-04-30 14:44:22 +0000
|
1.1.4.1 |
| 16-Mar-2010 |
rmind | Change struct uvm_object::vmobjlock to be dynamically allocated with mutex_obj_alloc(). It allows us to share the locks among UVM objects.
|
1.1.2.4 |
| 10-Oct-2010 |
yamt | some locking changes
|
1.1.2.3 |
| 26-Sep-2010 |
yamt | locking changes
|
1.1.2.2 |
| 11-Mar-2010 |
yamt | sync with head
|
1.1.2.1 |
| 02-Mar-2010 |
yamt | file nfs_clntsubs.c was added on branch yamt-nfs-mp on 2010-03-11 15:04:31 +0000
|
1.2.54.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.2.54.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.2.52.1 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.3.6.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.6.4.1 |
| 20-Sep-2024 |
martin | Pull up following revision(s) (requested by rin in ticket #880):
sys/nfs/nfs_iod.c: revision 1.9 sys/nfs/nfs_vfsops.c: revision 1.245 sys/nfs/nfs_clntsubs.c: revision 1.7
PR/57279: Izumi Tsutsui: Fix some {int,long} -> time_t. Still things will break eventually because parts of the nfs protocol assume time_t will fit in 32 bits.
|