History log of /src/sys/kern/vfs_trans.c |
Revision | | Date | Author | Comments |
1.73 |
| 07-Dec-2024 |
riastradh | vfs(9): Sprinkle SET_ERROR dtrace probes.
PR kern/58378: Kernel error code origination lacks dtrace probes
|
1.72 |
| 07-Dec-2024 |
riastradh | vfs(9): Fix some more whitespace issues.
No functional change intended.
|
1.71 |
| 07-Dec-2024 |
riastradh | vfs(9): Sprinkle KNF.
No functional change intended.
|
1.70 |
| 04-Nov-2022 |
hannken | branches: 1.70.8; Add a helper to set or clear lower mount and use it. Always add a reference to the lower mount.
Ride 9.99.105
|
1.69 |
| 26-Oct-2022 |
riastradh | miscfs/deadfs/deadfs.h: New home for deadfs-related externs.
XXX regen sys/kern/vnode_if.c and the others
|
1.68 |
| 22-Aug-2022 |
hannken | Don't allocate lwp info for fstrans_held() and fstrans_is_owner(). If it doesn't exist we cannot hold a transaction or suspension.
|
1.67 |
| 11-Aug-2022 |
hannken | Finish previous, evaluate the lowest mount on first access to "struct mount_info" and store it here so we no longer derefence the "struct mount" from fstrans_alloc_lwp_info().
Reported-by: syzbot+5a79214d043395b550d8@syzkaller.appspotmail.com
|
1.66 |
| 08-Jul-2022 |
hannken | While one thread runs vgone() it is possible for another thread to grab a "v_mount" that will be freed before it uses this mount for fstrans_start().
Add a hashtab to lookup our private mount data "fstrans_mount_info" and use "mp" as an opaque key for lookup.
Reported-by: syzbot+54dc9ac0804a97b59bc6@syzkaller.appspotmail.com
|
1.65 |
| 08-Jul-2022 |
hannken | Handle IMNT_GONE on the file system we want suspended not its lowest mount we really suspend.
|
1.64 |
| 28-Jun-2022 |
riastradh | fstrans(9): KASSERT(a && b) => KASSERT(a); KASSERT(b)
No functional change intended except better diagnostics in case of crash.
|
1.63 |
| 17-May-2020 |
ad | Reorganise the locking and allocation of fstrans_lwp_info slightly, to reduce contention. "please go ahead" hannken@.
|
1.62 |
| 13-May-2020 |
hannken | Add operation fstrans_held(struct mount *), true if the current thread holds a fstrans lock.
Ride 9.99.61
|
1.61 |
| 17-Jun-2019 |
hannken | Add an owner field to fstrans mount info and use it to hold the thread currently suspending this mount.
Remove now unneeded state FSTRANS_EXCL.
It is now possible to suspend a file system from a thread already holding fstrans locks. Use with care ...
|
1.60 |
| 13-May-2019 |
hannken | Walk down to the lowest mount for "fli_alias".
Address PR kern/54195 (null mounts: panic: ...).
|
1.59 |
| 15-Apr-2019 |
hannken | Add reference counting to alias states to prevent them disappearing while still in use.
|
1.58 |
| 07-Mar-2019 |
hannken | Change "fli_alias" to point to the corresponding "fstrans_lwp_info".
Fix fstrans_clear_lwp_info() list traversal, remove already advanced the list pointer.
|
1.57 |
| 01-Mar-2019 |
hannken | Move pointer to fstrans private data into "struct lwp".
Ride NetBSD 8.99.35
|
1.56 |
| 24-Feb-2019 |
hannken | Clear per-lwp entries whose mount is gone before the first return from fstrans_done().
No longer leaks "struct mount" forever.
|
1.55 |
| 21-Feb-2019 |
hannken | Fix bad assertion: vfs_suspend(dead_rootmount) may happen and must return EOPNOTSUPP.
|
1.54 |
| 20-Feb-2019 |
hannken | - Make the fstrans mount info part of the per-lwp state and replace most accesses to the mount with fstrans mount info.
- Add "fmi_gone" to be true after unmount and add a counter of outstanding mount infos so fstrans_clear_lwp_info() only runs if there may be something to do.
- Move lookup of base mounts into per-lwp state.
- Keep a list of valid mounts for DIAGNOSTIC checks.
|
1.53 |
| 20-Feb-2019 |
hannken | Move fstrans_unmount() to vfs_rele(), just before it would free the mount. Don't take a mount reference for fstrans as it gets notified about the release.
Defer the final free of the mount to fstrans_mount_dtor() when fstrans has released all references to this mount. Prevents the mount's memory to be reused as a new mount before fstrans released all references.
Address PR kern/53928 modules/t_builtin:disable test case randomly fails.
|
1.52 |
| 20-Feb-2019 |
hannken | Attach "mnt_transinfo" to "dead_rootmount" so every mount has a valid "mnt_transinfo" and remove now unneeded flag IMNT_HAS_TRANS.
Run fstrans_start()/fstrans_done() on dead_rootmount if FSTRANS_DEAD_ENABLED. Should become the default for DIAGNOSTIC in the future.
|
1.51 |
| 05-Oct-2018 |
hannken | Bring back three state file system suspension:
NORMAL -> SUSPENDING -> SUSPENDED
and add operation fstrans_start_lazy() that only blocks while SUSPENDED.
Change vndthread() support operation handle_with_rdwr() to bracket its file system operations by fstrans_start_lazy() and fstrans_done().
PR kern/53624 (dom0 freeze on domU exit)
|
1.50 |
| 05-Oct-2018 |
manu | Back out sftchg/fstcnt deadlock workaround
The change did prevent some system freeze, but caused spurious unmount failures reporter by bouyer@.
hannken@ is working on the right fix, see kern/53624
|
1.49 |
| 27-Sep-2018 |
manu | Work around deadlock between fstchg and fstcnt
When suspending a filesystem in fstrans_setstate(), we wait on fstcnt for threads to finish transactions. While we do this, any thread trying to start a filesystem transaction will wait on fstchg in fstrans_start(), a situation which can deadlock.
The wait for fstcnt in fstrans_setstate() can be interrupted by a signal, but the wait for fstchg in fstrans_start() cannot. Once most processes are stuck in fstchg, it is impossible to send a signal to the thread that waits on fstcnt, because no process respond anymore to user input.
We fix that by adding a timeout to the wait on fstcnt in fstrans_setstate(). This means suspending a filesystem may fail, but it was already the case when the sleep was interupted by a signal, hence calling function must already handle a possible failure.
Fixes kern/53624
|
1.48 |
| 18-Jun-2017 |
hannken | branches: 1.48.4; 1.48.6; Make the fast path of fstrans_get_lwp_info() "static inline".
|
1.47 |
| 18-Jun-2017 |
hannken | Clear fstrans entries whose mount is gone from the last fstrans_done() only.
|
1.46 |
| 04-Jun-2017 |
hannken | Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
File system state FSTRANS_SUSPENDING is now unused so remove it.
Regen vnode_if files.
Ride 8.99.1 less than a hour ago.
|
1.45 |
| 07-May-2017 |
hannken | branches: 1.45.2; Move fstrans initialization to vfs_mountalloc().
|
1.44 |
| 07-May-2017 |
hannken | Handle the case where the mount is gone and its mnt_transinfo is NULL.
|
1.43 |
| 17-Apr-2017 |
hannken | branches: 1.43.2; Remove unused argument "nextp" from vfs_busy() and vfs_unbusy(). Remove argument "keepref" from vfs_unbusy() and add vfs_ref() where needed.
|
1.42 |
| 17-Apr-2017 |
hannken | Add vfs_ref(mp) and vfs_rele(mp) to add or remove a reference to struct mount. Rename vfs_destroy(mp) to vfs_rele(mp) and replace incrementing mp->mnt_refcnt with vfs_ref(mp).
|
1.41 |
| 12-Apr-2017 |
hannken | Switch fstrans_dump() to _mountlist_next().
|
1.40 |
| 30-Mar-2017 |
hannken | Change _fstrans_start() to allocate per lwp info for layered file systems to get a reference on the mount.
Set mnt_lower on successfull mount only.
|
1.39 |
| 06-Mar-2017 |
hannken | Always use the lowest mount for fstrans and suspend. This way we enter/leave or suspend/resume the stack of layered file systems as a unit.
|
1.38 |
| 02-Mar-2017 |
hannken | Add an operation to test a mount for fstrans support and use it for _fstrans_start(), fstrans_done(), fstrans_is_owner(), vfs_suspend() and vfs_resume().
Test for fstrans support before ASSERT_SLEEPABLE().
|
1.37 |
| 23-Feb-2017 |
hannken | Test for fstrans support before trying to allocate per-thread info.
PR kern/51996 (kmem_alloc called from intr context in fstrans_get_lwp_info)
|
1.36 |
| 17-Feb-2017 |
hannken | Let syncer try fstrans_start() before running VFS_SYNC() to get rid of the syncer lock/unlock from vfs_suspend().
|
1.35 |
| 17-Feb-2017 |
hannken | Protect attaching and detaching lwp_info to mount with a mutex.
|
1.34 |
| 24-Aug-2015 |
pooka | branches: 1.34.2; 1.34.4; to garnish, dust with _KERNEL_OPT
|
1.33 |
| 06-May-2015 |
hannken | Remove miscfs/syncfs and
- move the syncer into kern/vfs_subr.c.
- change the syncer to process the mountlist and VFS_SYNC as appropriate.
- use an API for mount points similiar to the API for vnodes: - vfs_syncer_add_to_worklist(struct mount *mp) to add - vfs_syncer_remove_from_worklist(struct mount *mp) to remove a mount.
No objections on tech-kern@
|
1.32 |
| 21-Apr-2015 |
pooka | Don't check if constant-sized KM_SLEEP allocations succeeded.
|
1.31 |
| 05-Sep-2014 |
matt | branches: 1.31.2; Don't next structure and enum definitions. Don't use C++ keywords new, try, class, private, etc.
|
1.30 |
| 15-Apr-2014 |
hannken | Fix a deadlock where one thread exits, enters fstrans_lwp_dtor() and wants fstrans_lock. This thread holds the proc_lock. Another thread holds fstrans_lock and runs pserialize_perform(). As the first thread holds the proc_lock, timeouts are blocked and the second thread blocks forever in kpause().
Change fstrans_lwp_dtor() to invalidate, but not free its info structs. No need to take fstrans_lock.
Change fstrans_get_lwp_info() to reuse invalidated info before trying to allocate a new one.
|
1.29 |
| 23-Nov-2013 |
christos | branches: 1.29.2; change the mountlist CIRCLEQ into a TAILQ
|
1.28 |
| 25-Oct-2013 |
martin | Mark diagnostic-only variables
|
1.27 |
| 30-Sep-2013 |
hannken | 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>
|
1.26 |
| 21-Jan-2013 |
hannken | branches: 1.26.2; Replace the rwlock based implementation with passive serialization from pserialize(9) and mutex / condvar.
The fast paths (fstrans_start/fstrans_done on a file system not suspended or suspending and fscow_run with no change pending) now run without locks or other atomic operations. Suspension and cow handler insertion and removal is done with mutex / condvars.
The API remains unchanged.
|
1.25 |
| 12-May-2009 |
yamt | branches: 1.25.12; 1.25.22; don't forget to skip marker processes.
|
1.24 |
| 16-Nov-2008 |
pooka | branches: 1.24.4; more <sys/buf.h> police
|
1.23 |
| 17-Sep-2008 |
hannken | branches: 1.23.2; 1.23.4; 1.23.6; Replace the fss unmount hook with a vfs_hook.
fssvar.h: struct device * -> device_t. fss.c: establish unmount hook on first attach, remove on last detach. vfs_syscalls.c: remove the call of fss_umount_hook(). vfs_trans.c: destroy cow handlers on unmount as fstrans_unmount() will be called before vfs_hooks.
|
1.22 |
| 24-Jun-2008 |
ad | branches: 1.22.2; Use pool_cache.
|
1.21 |
| 16-May-2008 |
hannken | branches: 1.21.2; Remove a bad assertion from last commit. Non bufcache buffers may have BC_BUSY unset.
|
1.20 |
| 16-May-2008 |
hannken | Fscow_run() may recurse into itself. Take care by adding a per-lwp recursion counter.
|
1.19 |
| 28-Apr-2008 |
martin | branches: 1.19.2; Remove clause 3 and 4 from TNF licenses
|
1.18 |
| 17-Mar-2008 |
yamt | branches: 1.18.2; 1.18.4; - simplify ASSERT_SLEEPABLE. - move it from proc.h to systm.h. - add some more checks. - make it a little more lkm friendly.
|
1.17 |
| 02-Feb-2008 |
hannken | branches: 1.17.2; 1.17.6; BO_COWDONE -> B_COWDONE: this flag is tested/modified from the thread owning the buffer and therefore needs no protection by a mutex.
Ok: Andrew Doran <ad@netbsd.org>
|
1.16 |
| 02-Jan-2008 |
ad | Merge vmlocking2 to head.
|
1.15 |
| 02-Dec-2007 |
hannken | branches: 1.15.2; 1.15.6; Fscow_run(): add a flag "bool data_valid" to note still valid data. Buffers run through copy-on-write are marked B_COWDONE. This condition is valid until the buffer has run through bwrite() and gets cleared from biodone().
Welcome to 4.99.39.
Reviewed by: YAMAMOTO Takashi <yamt@netbsd.org>
|
1.14 |
| 08-Oct-2007 |
hannken | branches: 1.14.4; fscow_run(): Check for NULL mount and don't run the cow handler in this case.
|
1.13 |
| 07-Oct-2007 |
hannken | Remove an include committed by accident.
From Chris Ross via current-users.
|
1.12 |
| 07-Oct-2007 |
hannken | Update the file system copy-on-write handler.
- Instead of hooking the handler on the specdev of a mounted file system hook directly on the `struct mount'.
- Rename from `vn_cow_*' to `fscow_*' and move to `kern/vfs_trans.c'. Use `mount_*specific' instead of clobbering `struct mount' or `struct specinfo'.
- Replace the hand-made reader/writer lock with a krwlock.
- Keep `vn_cow_*' functions and mark as obsolete.
- Welcome to NetBSD 4.99.32 - `struct specinfo' changed size.
Reviewed by: Jason Thorpe <thorpej@netbsd.org>
|
1.11 |
| 26-Jul-2007 |
pooka | branches: 1.11.4; 1.11.6; 1.11.8; 1.11.10; Use eopnotsupp() instead of vfs_stdsuspendctl() and retire the latter.
|
1.10 |
| 09-Jul-2007 |
ad | branches: 1.10.2; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
1.9 |
| 17-May-2007 |
hannken | Fstrans_start() always returns zero, so change its type to void.
|
1.8 |
| 16-May-2007 |
hannken | Use rwlock for fmi_shared_lock and fmi_lazy_lock.
Ok: Andrew Doran <ad@netbsd.org>
|
1.7 |
| 12-Mar-2007 |
ad | Use mutexes/condvars.
|
1.6 |
| 12-Mar-2007 |
ad | branches: 1.6.2; Pass an ipl argument to pool_init/POOL_INIT to be used when initializing the pool's lock.
|
1.5 |
| 16-Feb-2007 |
hannken | branches: 1.5.2; 1.5.4; 1.5.8; Make fstrans(9) the default helper for file system suspension. Replaces the now obsolete vn_start_write()/vn_finished_write().
|
1.4 |
| 15-Feb-2007 |
ad | Replace some uses of lockmgr() / simplelocks.
|
1.3 |
| 10-Feb-2007 |
hannken | newlock2: syncer_lock is now a mutex.
|
1.2 |
| 29-Jan-2007 |
hannken | branches: 1.2.2; Change fstrans enum types to upper case. No functional change.
From Antti Kantee <pooka@netbsd.org>
|
1.1 |
| 19-Jan-2007 |
hannken | New file system suspension API to replace vn_start_write and vn_finished_write. The suspension helpers are now put into file system specific operations. This means every file system not supporting these helpers cannot be suspended and therefore snapshots are no longer possible.
Implemented for file systems of type ffs.
The new API is enabled on a kernel option NEWVNGATE. This option is not enabled by default in any kernel config.
Presented and discussed on tech-kern with much input from Bill Studenmund <wrstuden@netbsd.org> and YAMAMOTO Takashi <yamt@netbsd.org>.
Welcome to 4.99.9 (new vfs op vfs_suspendctl).
|
1.2.2.2 |
| 01-Feb-2007 |
ad | Sync with head.
|
1.2.2.1 |
| 29-Jan-2007 |
ad | file vfs_trans.c was added on branch newlock2 on 2007-02-01 08:48:41 +0000
|
1.5.8.9 |
| 11-Nov-2007 |
hannken | Add fstrans_mount() to explicitly allocate fstrans_info. Replace remaining malloc() to kmem_alloc() in vfs_trans.c.
Ok: Andrew Doran <ad@netbsd.org>
|
1.5.8.8 |
| 07-Nov-2007 |
hannken | Merge struct fscow_mount_info into struct fstrans_mount_info.
Ok: Andrew Doran <ad@netbsd.org>
|
1.5.8.7 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.5.8.6 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.5.8.5 |
| 08-Oct-2007 |
ad | Don't use the 'specificdata' system to store per-mountpoint information on transactions. It causes a massive amount of lock contention during I/O. Instead use an opaque pointer in struct mount. (This change is imcomplete but I am clearing out my tree.)
|
1.5.8.4 |
| 20-Aug-2007 |
ad | Sync with HEAD.
|
1.5.8.3 |
| 08-Jun-2007 |
ad | Sync with head.
|
1.5.8.2 |
| 05-Apr-2007 |
ad | Compile fixes.
|
1.5.8.1 |
| 13-Mar-2007 |
ad | Sync with head.
|
1.5.4.8 |
| 17-Mar-2008 |
yamt | sync with head.
|
1.5.4.7 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.5.4.6 |
| 21-Jan-2008 |
yamt | sync with head
|
1.5.4.5 |
| 07-Dec-2007 |
yamt | sync with head
|
1.5.4.4 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.5.4.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.5.4.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.5.4.1 |
| 16-Feb-2007 |
yamt | file vfs_trans.c was added on branch yamt-lazymbuf on 2007-02-26 09:11:24 +0000
|
1.5.2.2 |
| 17-May-2007 |
yamt | sync with head.
|
1.5.2.1 |
| 24-Mar-2007 |
yamt | sync with head.
|
1.6.2.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.10.2.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.11.10.2 |
| 26-Jul-2007 |
pooka | Use eopnotsupp() instead of vfs_stdsuspendctl() and retire the latter.
|
1.11.10.1 |
| 26-Jul-2007 |
pooka | file vfs_trans.c was added on branch matt-mips64 on 2007-07-26 22:57:37 +0000
|
1.11.8.1 |
| 14-Oct-2007 |
yamt | sync with head.
|
1.11.6.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.11.6.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.11.6.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.11.4.2 |
| 03-Dec-2007 |
joerg | Sync with HEAD.
|
1.11.4.1 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.14.4.2 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.14.4.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.15.6.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.15.2.1 |
| 04-Dec-2007 |
ad | Pull the vmlocking changes into a new branch.
|
1.17.6.5 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.17.6.4 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.17.6.3 |
| 29-Jun-2008 |
mjf | Sync with HEAD.
|
1.17.6.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.17.6.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.17.2.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.18.4.3 |
| 16-May-2009 |
yamt | sync with head
|
1.18.4.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.18.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.18.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.19.2.3 |
| 24-Sep-2008 |
wrstuden | Merge in changes between wrstuden-revivesa-base-2 and wrstuden-revivesa-base-3.
|
1.19.2.2 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.19.2.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.21.2.1 |
| 27-Jun-2008 |
simonb | Sync with head.
|
1.22.2.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.22.2.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.23.6.1 |
| 01-Jul-2009 |
snj | branches: 1.23.6.1.2; Pull up following revision(s) (requested by rmind in ticket #838): sys/kern/init_sysctl.c: revision 1.162 sys/kern/vfs_trans.c: revision 1.25 don't forget to skip marker processes.
|
1.23.6.1.2.1 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.23.4.1 |
| 01-Jul-2009 |
snj | Pull up following revision(s) (requested by rmind in ticket #838): sys/kern/init_sysctl.c: revision 1.162 sys/kern/vfs_trans.c: revision 1.25 don't forget to skip marker processes.
|
1.23.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.24.4.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.25.22.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.25.22.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.25.22.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.25.12.2 |
| 22-May-2014 |
yamt | 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")
|
1.25.12.1 |
| 23-Jan-2013 |
yamt | sync with head
|
1.26.2.1 |
| 18-May-2014 |
rmind | sync with head
|
1.29.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.31.2.3 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.31.2.2 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.31.2.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.34.4.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.34.2.2 |
| 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.34.2.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.43.2.1 |
| 11-May-2017 |
pgoyette | Sync with HEAD
|
1.45.2.3 |
| 09-Oct-2018 |
martin | Pull up following revision(s) (requested by hannken in ticket #1052):
sys/kern/vfs_trans.c: revision 1.51 distrib/sets/lists/comp/mi: revision 1.2233 share/man/man9/fstrans.9: revision 1.27 share/man/man9/Makefile: revision 1.431 sys/sys/fstrans.h: revision 1.12 sys/rump/librump/rumpkern/emul.c: revision 1.187 sys/dev/vnd.c: revision 1.266 sys/miscfs/genfs/genfs_vfsops.c: revision 1.8
Bring back three state file system suspension:
NORMAL -> SUSPENDING -> SUSPENDED
and add operation fstrans_start_lazy() that only blocks while SUSPENDED.
Change vndthread() support operation handle_with_rdwr() to bracket its file system operations by fstrans_start_lazy() and fstrans_done().
PR kern/53624 (dom0 freeze on domU exit)
|
1.45.2.2 |
| 21-Jun-2017 |
snj | Pull up following revision(s) (requested by hannken in ticket #54): sys/kern/vfs_trans.c: 1.47, 1.48 Clear fstrans entries whose mount is gone from the last fstrans_done() only. -- Make the fast path of fstrans_get_lwp_info() "static inline".
|
1.45.2.1 |
| 04-Jun-2017 |
bouyer | pullup the following revisions, requested by hannken in ticket #2: src/share/man/man9/fstrans.9 1.25 src/sys/kern/vfs_mount.c 1.66 src/sys/kern/vfs_subr.c 1.468 src/sys/kern/vfs_trans.c 1.46 src/sys/kern/vfs_vnode.c 1.94, 1.95, 1.96 src/sys/kern/vnode_if.c 1.105, 1.106 src/sys/kern/vnode_if.sh 1.65, 1.66 src/sys/kern/vnode_if.src 1.76 src/sys/miscfs/genfs/genfs_io.c 1.69 src/sys/miscfs/genfs/genfs_vnops.c 1.196, 1.197 src/sys/miscfs/genfs/layer_extern.h 1.40 src/sys/miscfs/genfs/layer_vfsops.c 1.51 src/sys/miscfs/genfs/layer_vnops.c 1.67 src/sys/miscfs/nullfs/null_vnops.c 1.42 src/sys/miscfs/overlay/overlay_vnops.c 1.24 src/sys/miscfs/umapfs/umap_vnops.c 1.60 src/sys/rump/include/rump/rumpvnode_if.h 1.29, 1.30 src/sys/rump/librump/rumpkern/emul.c 1.182 src/sys/rump/librump/rumpvfs/rumpvnode_if.c 1.29, 1.30 src/sys/sys/fstrans.h 1.11 src/sys/sys/vnode.h 1.278 src/sys/sys/vnode_if.h 1.100, 1.101 src/sys/sys/vnode_impl.h 1.14, 1.15 src/sys/ufs/lfs/lfs_pages.c 1.12
Vnode state, lock and fstrans cleanup: - Rename vnode state "VS_ACTIVE" to "VS_LOADED" and add synthetic state "VS_ACTIVE" to assert a loaded vnode with usecount > 0.
- Redo FSTRANS in vnode_if.c and use it for VOP_LOCK and VOP_UNLOCK.
- Cleanup the genfs lock operations.
- Make "struct vnode_impl" member "vi_lock" a krwlock_t again.
- Remove the lock type argument from fstrans_start and fstrans_start_nowait, remove now unused FSTRANS state "FSTRANS_SUSPENDING".
|
1.48.6.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.48.6.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.48.4.2 |
| 20-Oct-2018 |
pgoyette | Sync with head
|
1.48.4.1 |
| 30-Sep-2018 |
pgoyette | Ssync with HEAD
|
1.70.8.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|