Matthew Dillon
2018-12-05 22:29:28 UTC
commit e89bd68487ad1e84651531db1eb4f1fa3b7dd4e0
Author: Matthew Dillon <***@apollo.backplane.com>
Date: Sat Dec 1 13:57:35 2018 -0800
hammer2 - refactor filesystem sync 5/N
* Dependency ops need one atomic wrapper. Adjust the use of
pmp->list_spin for the atomic wrapper.
* Reorder hammer2_inode_depend() call from after hammer2_igetv()
to before it. This is because hammer2_igetv() can temporarily
release the inode lock and the dependency code assumes that does
not happen.
* Cleanup
* This code is still not 100% because earlier dependency pairs
that wind up on the sideq can be split if an overlapping dependency
occurs later that flags PASS2.
Summary of changes:
sys/vfs/hammer2/hammer2_inode.c | 76 +++++++++++++++++++++++-----------------
sys/vfs/hammer2/hammer2_vfsops.c | 27 ++++++--------
sys/vfs/hammer2/hammer2_vnops.c | 14 +++++---
3 files changed, 64 insertions(+), 53 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e89bd68487ad1e84651531db1eb4f1fa3b7dd4e0
Author: Matthew Dillon <***@apollo.backplane.com>
Date: Sat Dec 1 13:57:35 2018 -0800
hammer2 - refactor filesystem sync 5/N
* Dependency ops need one atomic wrapper. Adjust the use of
pmp->list_spin for the atomic wrapper.
* Reorder hammer2_inode_depend() call from after hammer2_igetv()
to before it. This is because hammer2_igetv() can temporarily
release the inode lock and the dependency code assumes that does
not happen.
* Cleanup
* This code is still not 100% because earlier dependency pairs
that wind up on the sideq can be split if an overlapping dependency
occurs later that flags PASS2.
Summary of changes:
sys/vfs/hammer2/hammer2_inode.c | 76 +++++++++++++++++++++++-----------------
sys/vfs/hammer2/hammer2_vfsops.c | 27 ++++++--------
sys/vfs/hammer2/hammer2_vnops.c | 14 +++++---
3 files changed, 64 insertions(+), 53 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e89bd68487ad1e84651531db1eb4f1fa3b7dd4e0
--
DragonFly BSD source repository
DragonFly BSD source repository