Hello, Here is the second version of the DRW lock for btrfs. Main changes from v1: * Fixed all checkpatch warnings (Andrea Parri) * Properly call write_unlock in btrfs_drw_try_write_lock (Filipe Manana) * Comment fix. * Stress tested it via locktorture. Survived for 8 straight days on a 4 socket 48 thread machine. I'm resending this one since it's been quite a while. Additionally Valentin Schneider has created a more accurate spec of the algorithm than the one I had initially submitted. It can be found here https://lore.kernel.org/lkml/2dcaf81c-f0d3-409e-cb29-733d8b3b4cc9@xxxxxxx/ I've been running with those patches on my custoom tree for a couple of months and haven't observed any issues. Nikolay Borisov (2): btrfs: Implement DRW lock btrfs: convert snapshot/nocow exlcusion to drw lock fs/btrfs/ctree.h | 10 ++--- fs/btrfs/disk-io.c | 46 ++++++---------------- fs/btrfs/extent-tree.c | 44 --------------------- fs/btrfs/file.c | 11 +++--- fs/btrfs/inode.c | 8 ++-- fs/btrfs/ioctl.c | 10 ++--- fs/btrfs/locking.c | 87 ++++++++++++++++++++++++++++++++++++++++++ fs/btrfs/locking.h | 21 ++++++++++ 8 files changed, 134 insertions(+), 103 deletions(-) -- 2.17.1
