freebsd-dev/sys/ufs/ffs
Konstantin Belousov 5cf14660ae Improve publication of the newly allocated snapdata.
For freshly allocated snapdata, Lock sn_lock in advance, so
si_snapdata readers see the locked snapdata and not race.

For existing snapdata, if the thread was put to sleep waiting for
sn_lock, re-read si_snapdata.  This either closes the race or makes
the reliance on LK_DRAIN less important.

Reported and tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2017-07-21 18:42:35 +00:00
..
ffs_alloc.c Remove write-only variable. 2017-07-16 07:12:04 +00:00
ffs_balloc.c All these files need sys/vmmeter.h, but now they got it implicitly 2017-04-17 17:07:00 +00:00
ffs_extern.h Create a new function ffs_getcg() to read in and verify a cylinder 2017-06-28 17:32:09 +00:00
ffs_inode.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ffs_rawread.c Remove spl() calls from UFS code. 2017-05-07 14:59:45 +00:00
ffs_snapshot.c Improve publication of the newly allocated snapdata. 2017-07-21 18:42:35 +00:00
ffs_softdep.c Mitigate several problems with the softdep_request_cleanup() on busy 2017-06-03 16:18:50 +00:00
ffs_subr.c ANSIfy ffs_subr.c 2016-10-31 20:43:43 +00:00
ffs_suspend.c Partially lift suspension when ffs_reload() finished with cgs and 2016-09-08 12:01:28 +00:00
ffs_tables.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ffs_vfsops.c Create a new function ffs_getcg() to read in and verify a cylinder 2017-06-28 17:32:09 +00:00
ffs_vnops.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
fs.h UFS fs.h: clear warning from use in makefs(1) 2017-05-05 15:26:55 +00:00
softdep.h Mitigate several problems with the softdep_request_cleanup() on busy 2017-06-03 16:18:50 +00:00