Messages in this thread | | | From | Nikolay Borisov <> | Subject | [PATCH 0/2] Refactor snapshot vs nocow writers locking | Date | Thu, 6 Jun 2019 16:52:17 +0300 |
| |
This patchset first factors out the open code which essentially implements a lock that allows to have either multiple reader or multiple writers but not both. Then patch 2 just converts the code to using the newly introduced lock.
The individual patch descriptions contain more information about the technical details and invariants that the lock provide.
I have also CC'ed a copule of the maintainer of linux memory model since my patches just factor out the code and I would really like someone proficient enough in the usage/semantics of memory barries to review it as well.
Nikolay Borisov (2): btrfs: Implement DRW lock btrfs: convert snapshot/nocow exlcusion to drw lock
fs/btrfs/Makefile | 2 +- fs/btrfs/ctree.h | 10 ++---- fs/btrfs/disk-io.c | 39 ++--------------------- fs/btrfs/drw_lock.c | 71 ++++++++++++++++++++++++++++++++++++++++++ fs/btrfs/drw_lock.h | 23 ++++++++++++++ fs/btrfs/extent-tree.c | 35 --------------------- fs/btrfs/file.c | 12 +++---- fs/btrfs/inode.c | 8 ++--- fs/btrfs/ioctl.c | 10 ++---- 9 files changed, 114 insertions(+), 96 deletions(-) create mode 100644 fs/btrfs/drw_lock.c create mode 100644 fs/btrfs/drw_lock.h
-- 2.17.1
| |