[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [dm-devel] [PATCHES] convert dm-thin to use dm-bufio
- From: Mikulas Patocka <mpatocka redhat com>
- To: Joe Thornber <thornber redhat com>
- Cc: dm-devel redhat com, "Alasdair G. Kergon" <agk redhat com>
- Subject: Re: [dm-devel] [PATCHES] convert dm-thin to use dm-bufio
- Date: Mon, 22 Aug 2011 15:59:05 -0400 (EDT)
> > I've merged and pushed this to my git repo.
>
> I checkouted the tree now (I tried all branches reported with git-branch
> -a), but I couldn't see bufio in any of the branches.
It was my mistake --- I forgot to do git-fetch before git-checkout.
Here is a patch that uses down_read_trylock instead of down_read in
dm_bm_read_try_lock.
Mikulas
---
drivers/md/persistent-data/dm-block-manager.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Index: linux-3.0-fast/drivers/md/persistent-data/dm-block-manager.c
===================================================================
--- linux-3.0-fast.orig/drivers/md/persistent-data/dm-block-manager.c 2011-08-22 21:53:31.000000000 +0200
+++ linux-3.0-fast/drivers/md/persistent-data/dm-block-manager.c 2011-08-22 21:54:38.000000000 +0200
@@ -176,7 +176,10 @@ int dm_bm_read_try_lock(struct dm_block_
return -EWOULDBLOCK;
aux = dm_bufio_get_aux_data(*result);
- down_read(&aux->lock);
+ if (unlikely(!down_read_trylock(&aux->lock))) {
+ dm_bufio_release(*result);
+ return -EWOULDBLOCK;
+ }
aux->write_locked = 0;
r = dm_bm_validate_buffer(bm, *result, aux, v);
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]