The NetBSD Project

CVS log for src/sys/nfs/nfs_iod.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / nfs

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.8.30.1: download - view: text, markup, annotated - select for diffs
Fri Sep 20 11:44:58 2024 UTC (3 months, 3 weeks ago) by martin
Branches: netbsd-10
CVS tags: netbsd-10-1-RELEASE
Diff to: previous 1.8: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8: +4 -3 lines
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.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Tue Mar 21 15:47:46 2023 UTC (21 months, 3 weeks ago) by christos
Branches: MAIN
CVS tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, HEAD
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +4 -3 lines
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.

Revision 1.7.18.1: download - view: text, markup, annotated - select for diffs
Mon Jun 10 22:09:49 2019 UTC (5 years, 7 months ago) by christos
Branches: phil-wifi
Diff to: previous 1.7: preferred, colored; next MAIN 1.8: preferred, colored
Changes since revision 1.7: +3 -3 lines
Sync with HEAD

Revision 1.7.16.1: download - view: text, markup, annotated - select for diffs
Thu Sep 6 06:56:45 2018 UTC (6 years, 4 months ago) by pgoyette
Branches: pgoyette-compat
CVS tags: pgoyette-compat-merge-20190127
Diff to: previous 1.7: preferred, colored; next MAIN 1.8: preferred, colored
Changes since revision 1.7: +3 -3 lines
Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.8: download - view: text, markup, annotated - select for diffs
Mon Sep 3 16:29:36 2018 UTC (6 years, 4 months ago) by riastradh
Branches: MAIN
CVS tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, netbsd-9-base, netbsd-9-4-RELEASE, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, bouyer-sunxi-drm-base, bouyer-sunxi-drm, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: netbsd-10
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +3 -3 lines
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!)

Revision 1.4.22.2: download - view: text, markup, annotated - select for diffs
Sun Dec 3 11:39:05 2017 UTC (7 years, 1 month ago) by jdolecek
Branches: tls-maxphys
Diff to: previous 1.4.22.1: preferred, colored; branchpoint 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4.22.1: +16 -0 lines
update from HEAD

Revision 1.6.4.1: download - view: text, markup, annotated - select for diffs
Wed Nov 4 17:32:00 2015 UTC (9 years, 2 months ago) by riz
Branches: netbsd-7
CVS tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1
Diff to: previous 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6: +18 -2 lines
Pull up following revision(s) (requested by manu in ticket #882):
	sbin/umount/umount.c: revision 1.48
	sys/nfs/nfsmount.h: revision 1.53
	sys/nfs/nfs_var.h: revision 1.94
	sys/nfs/nfs_iod.c: revision 1.7
	sys/nfs/nfs_socket.c: revision 1.197
	sys/nfs/nfs_bio.c: revision 1.191
	sys/nfs/nfs_vfsops.c: revision 1.230
	sys/nfs/nfs_clntsocket.c: revision 1.3
Remove useless and harmful sync(2) call in umount(8)
Remove sync(2) call before unmount(2) in umount(8). This sync(2) is useless
since unmount(2) will perform a VFS_SYNC anyway.
But moreover, this sync(2) may be harmful, as there are some situation where
it cannot return (unreachable NFS server, for instance), causing umount -f
to be uneffective.
Fix soft NFS force unmount
For many reasons, forcibly unmounting a soft NFS mount could hang forever.
Here are the fixes:
- Introduce decents timeouts in operation that awaited NFS server reply.
- On timeout, fails operations on soft mounts with EIO.
- Introduce NFSMNT_DISMNTFORCE to let the filesystem know that a
  force unmount is ongoing. This causes timeouts to be reduced and
  prevents the NFS client to attempt reconnecting to the NFS server.
Also fix a race condition where some asynchronous I/O could reference
destroyed mount structures. We fix this by awaiting asynchronous I/O
to drain before proceeding.
Reviewed by Chuck Silvers.

Revision 1.6.6.1: download - view: text, markup, annotated - select for diffs
Tue Sep 22 12:06:12 2015 UTC (9 years, 3 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6: +18 -2 lines
Sync with HEAD

Revision 1.7: download - view: text, markup, annotated - select for diffs
Wed Jul 15 03:28:55 2015 UTC (9 years, 6 months ago) by manu
Branches: MAIN
CVS tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, netbsd-8-base, netbsd-8-3-RELEASE, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: phil-wifi, pgoyette-compat
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +18 -2 lines
Fix soft NFS force unmount

For many reasons, forcibly unmounting a soft NFS mount could hang forever.
Here are the fixes:
- Introduce decents timeouts in operation that awaited NFS server reply.
- On timeout, fails operations on soft mounts with EIO.
- Introduce NFSMNT_DISMNTFORCE to let the filesystem know that a
  force unmount is ongoing. This causes timeouts to be reduced and
  prevents the NFS client to attempt reconnecting to the NFS server.

Also fix a race condition where some asynchronous I/O could reference
destroyed mount structures. We fix this by awaiting asynchronous I/O
to drain before proceeding.

Reviewed by Chuck Silvers.

Revision 1.4.22.1: download - view: text, markup, annotated - select for diffs
Wed Aug 20 00:04:36 2014 UTC (10 years, 4 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +10 -5 lines
Rebase to HEAD as of a few days ago.

Revision 1.4.12.1: download - view: text, markup, annotated - select for diffs
Thu May 22 11:41:11 2014 UTC (10 years, 7 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4: +10 -5 lines
sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.4.26.1: download - view: text, markup, annotated - select for diffs
Sun May 18 17:46:14 2014 UTC (10 years, 7 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4: +10 -5 lines
sync with head

Revision 1.6: download - view: text, markup, annotated - select for diffs
Fri Oct 25 16:01:56 2013 UTC (11 years, 2 months ago) by martin
Branches: MAIN
CVS tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-base, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0
Branch point for: nick-nhusb, netbsd-7
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +3 -3 lines
Mark a diagnostic-only variable

Revision 1.5: download - view: text, markup, annotated - select for diffs
Sat Sep 14 21:17:00 2013 UTC (11 years, 4 months ago) by martin
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +9 -4 lines
Avoid unused variable warnings

Revision 1.3.2.4: download - view: text, markup, annotated - select for diffs
Thu Mar 11 15:04:31 2010 UTC (14 years, 10 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.3.2.3: preferred, colored; branchpoint 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3.2.3: +3 -3 lines
sync with head

Revision 1.4: download - view: text, markup, annotated - select for diffs
Thu Dec 31 19:38:16 2009 UTC (15 years ago) by christos
Branches: MAIN
CVS tags: yamt-pagecache-tag8, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-uvmplock, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, khorben-n900, jruoho-x86intr-base, jruoho-x86intr, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver
Branch point for: yamt-pagecache, tls-maxphys, rmind-smpnet
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +3 -3 lines
handle the nuidhash_max lossage differently

Revision 1.3.2.3: download - view: text, markup, annotated - select for diffs
Thu Jul 16 16:32:03 2009 UTC (15 years, 6 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.3.2.2: preferred, colored; branchpoint 1.3: preferred, colored
Changes since revision 1.3.2.2: +0 -2 lines
fix a merge botch.

Revision 1.1.10.1: download - view: text, markup, annotated - select for diffs
Wed May 13 17:22:51 2009 UTC (15 years, 8 months ago) by jym
Branches: jym-xensuspend
Diff to: previous 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1: +5 -19 lines
Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.3.2.2: download - view: text, markup, annotated - select for diffs
Mon May 4 08:14:22 2009 UTC (15 years, 8 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.3.2.1: preferred, colored; branchpoint 1.3: preferred, colored
Changes since revision 1.3.2.1: +444 -0 lines
sync with head.

Revision 1.1.8.3: download - view: text, markup, annotated - select for diffs
Tue Apr 28 07:37:44 2009 UTC (15 years, 8 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.1.8.2: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.8.2: +5 -19 lines
Sync with HEAD.

Revision 1.3.2.1
Sat Mar 14 21:04:25 2009 UTC (15 years, 10 months ago) by yamt
Branches: yamt-nfs-mp
FILE REMOVED
Changes since revision 1.3: +0 -444 lines
file nfs_iod.c was added on branch yamt-nfs-mp on 2009-05-04 08:14:22 +0000

Revision 1.3: download - view: text, markup, annotated - select for diffs
Sat Mar 14 21:04:25 2009 UTC (15 years, 10 months ago) by dsl
Branches: MAIN
CVS tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, matt-premerge-20091211, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base
Branch point for: yamt-nfs-mp
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +4 -11 lines
ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Sat Mar 14 15:36:24 2009 UTC (15 years, 10 months ago) by dsl
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +3 -10 lines
Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)

Revision 1.1.8.2: download - view: text, markup, annotated - select for diffs
Mon Jan 19 13:20:20 2009 UTC (15 years, 11 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.1.8.1: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.8.1: +458 -0 lines
Sync with HEAD.

Revision 1.1.6.2: download - view: text, markup, annotated - select for diffs
Sat Jan 17 13:29:34 2009 UTC (16 years ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.1.6.1: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.6.1: +458 -0 lines
Sync with HEAD.

Revision 1.1.4.2: download - view: text, markup, annotated - select for diffs
Sat Dec 13 01:15:28 2008 UTC (16 years, 1 month ago) by haad
Branches: haad-dm
Diff to: previous 1.1.4.1: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.4.1: +458 -0 lines
Update haad-dm branch to haad-dm-base2.

Revision 1.1.8.1
Wed Nov 19 18:36:09 2008 UTC (16 years, 1 month ago) by skrll
Branches: nick-hppapmap
FILE REMOVED
Changes since revision 1.1: +0 -458 lines
file nfs_iod.c was added on branch nick-hppapmap on 2009-01-19 13:20:20 +0000

Revision 1.1.6.1
Wed Nov 19 18:36:09 2008 UTC (16 years, 1 month ago) by mjf
Branches: mjf-devfs2
FILE REMOVED
Changes since revision 1.1: +0 -458 lines
file nfs_iod.c was added on branch mjf-devfs2 on 2009-01-17 13:29:34 +0000

Revision 1.1.4.1
Wed Nov 19 18:36:09 2008 UTC (16 years, 1 month ago) by haad
Branches: haad-dm
FILE REMOVED
Changes since revision 1.1: +0 -458 lines
file nfs_iod.c was added on branch haad-dm on 2008-12-13 01:15:28 +0000

Revision 1.1: download - view: text, markup, annotated - select for diffs
Wed Nov 19 18:36:09 2008 UTC (16 years, 1 month ago) by ad
Branches: MAIN
CVS tags: nick-hppapmap-base2, mjf-devfs2-base, haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, mjf-devfs2, jym-xensuspend, haad-dm
Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>