From e7d3c350d1280f68fcb8abf5edeb340cd9226bed Mon Sep 17 00:00:00 2001 From: Alex Elder Date: Thu, 23 Aug 2012 23:48:49 -0500 Subject: [PATCH] --- yaml --- r: 331663 b: refs/heads/master c: 4bb1f1ed0063870f34ae5783cda08924964bac0b h: refs/heads/master i: 331661: a246621f5a90b0cfc134774c20342a7e39bee4e0 331659: d115cedaf7f898d63080e7e4f68f1ac3ba99b623 331655: b4fa13feb092cc75358836baab55160495644b76 331647: e201068c0031e4a3e762f1468f5e558bd8e167c1 v: v3 --- [refs] | 2 +- trunk/drivers/block/rbd.c | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 845cf70000e5..4781028f8954 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1fcdb8aa1f58af72eb8206ba97fab2df77df2b14 +refs/heads/master: 4bb1f1ed0063870f34ae5783cda08924964bac0b diff --git a/trunk/drivers/block/rbd.c b/trunk/drivers/block/rbd.c index 634a16c40291..214c937a6de5 100644 --- a/trunk/drivers/block/rbd.c +++ b/trunk/drivers/block/rbd.c @@ -647,8 +647,6 @@ static int rbd_header_set_snap(struct rbd_device *rbd_dev, char *snap_name) { int ret; - down_write(&rbd_dev->header_rwsem); - if (!memcmp(snap_name, RBD_SNAP_HEAD_NAME, sizeof (RBD_SNAP_HEAD_NAME))) { rbd_dev->mapping.snap_id = CEPH_NOSNAP; @@ -666,7 +664,6 @@ static int rbd_header_set_snap(struct rbd_device *rbd_dev, char *snap_name) ret = 0; done: - up_write(&rbd_dev->header_rwsem); return ret; } @@ -2608,7 +2605,9 @@ static ssize_t rbd_add(struct bus_type *bus, if (rc) goto err_out_bus; + down_write(&rbd_dev->header_rwsem); rc = rbd_header_set_snap(rbd_dev, snap_name); + up_write(&rbd_dev->header_rwsem); if (rc) goto err_out_bus;