From 5614170e6eb0a512dd9b15db81e6ff84438748cd Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 21 Aug 2008 11:21:38 -0700 Subject: [PATCH] kclient: fix i_lock/snap_rwsem lock inversion (read, not write) --- src/kernel/caps.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kernel/caps.c b/src/kernel/caps.c index dc563aaf1fd2c..83351b7092a5b 100644 --- a/src/kernel/caps.c +++ b/src/kernel/caps.c @@ -454,7 +454,7 @@ ack: dout(10, "inverting snap/in locks on %p\n", inode); spin_unlock(&inode->i_lock); - down_write(&mdsc->snap_rwsem); + down_read(&mdsc->snap_rwsem); took_snap_rwsem = 1; goto retry; } @@ -492,7 +492,7 @@ ack: if (session) mutex_unlock(&session->s_mutex); if (took_snap_rwsem) - up_write(&mdsc->snap_rwsem); + up_read(&mdsc->snap_rwsem); } -- 2.39.5