Re: [PATCH] dm cache: Avoid conflicting remove_mapping() in mq policy

2013-08-16 Thread Alasdair G Kergon
On Fri, Aug 16, 2013 at 01:31:18AM -0700, Guenter Roeck wrote:
> Is this patch going anyhere ? The problem breaks the sparc32:allmodconfig 
> build,
> so it would be useful to get it fixed.

We're pulling together a batch of patches today, including this one.

Alasdair

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] dm cache: Avoid conflicting remove_mapping() in mq policy

2013-08-16 Thread Guenter Roeck

On 07/26/2013 12:57 AM, Geert Uytterhoeven wrote:

On sparc32, which includes  from :

drivers/md/dm-cache-policy-mq.c:962:13: error: conflicting types for 
'remove_mapping'
include/linux/swap.h:285:12: note: previous declaration of 'remove_mapping' was 
here

As mq_remove_mapping() already exists, and the local remove_mapping() is
used only once, inline it manually to avoid the conflict.

Signed-off-by: Geert Uytterhoeven 


Is this patch going anyhere ? The problem breaks the sparc32:allmodconfig build,
so it would be useful to get it fixed.

Thanks,
Guenter


---
I think this is also needed on hexagon, which includes  from
.

  drivers/md/dm-cache-policy-mq.c |   16 +++-
  1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/md/dm-cache-policy-mq.c b/drivers/md/dm-cache-policy-mq.c
index dc112a7..4296155 100644
--- a/drivers/md/dm-cache-policy-mq.c
+++ b/drivers/md/dm-cache-policy-mq.c
@@ -959,23 +959,21 @@ out:
return r;
  }

-static void remove_mapping(struct mq_policy *mq, dm_oblock_t oblock)
+static void mq_remove_mapping(struct dm_cache_policy *p, dm_oblock_t oblock)
  {
-   struct entry *e = hash_lookup(mq, oblock);
+   struct mq_policy *mq = to_mq_policy(p);
+   struct entry *e;
+
+   mutex_lock(>lock);
+
+   e = hash_lookup(mq, oblock);

BUG_ON(!e || !e->in_cache);

del(mq, e);
e->in_cache = false;
push(mq, e);
-}

-static void mq_remove_mapping(struct dm_cache_policy *p, dm_oblock_t oblock)
-{
-   struct mq_policy *mq = to_mq_policy(p);
-
-   mutex_lock(>lock);
-   remove_mapping(mq, oblock);
mutex_unlock(>lock);
  }




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] dm cache: Avoid conflicting remove_mapping() in mq policy

2013-08-16 Thread Guenter Roeck

On 07/26/2013 12:57 AM, Geert Uytterhoeven wrote:

On sparc32, which includes linux/swap.h from asm/pgtable_32.h:

drivers/md/dm-cache-policy-mq.c:962:13: error: conflicting types for 
'remove_mapping'
include/linux/swap.h:285:12: note: previous declaration of 'remove_mapping' was 
here

As mq_remove_mapping() already exists, and the local remove_mapping() is
used only once, inline it manually to avoid the conflict.

Signed-off-by: Geert Uytterhoeven ge...@linux-m68k.org


Is this patch going anyhere ? The problem breaks the sparc32:allmodconfig build,
so it would be useful to get it fixed.

Thanks,
Guenter


---
I think this is also needed on hexagon, which includes linux/swap.h from
asm/pgtable.h.

  drivers/md/dm-cache-policy-mq.c |   16 +++-
  1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/md/dm-cache-policy-mq.c b/drivers/md/dm-cache-policy-mq.c
index dc112a7..4296155 100644
--- a/drivers/md/dm-cache-policy-mq.c
+++ b/drivers/md/dm-cache-policy-mq.c
@@ -959,23 +959,21 @@ out:
return r;
  }

-static void remove_mapping(struct mq_policy *mq, dm_oblock_t oblock)
+static void mq_remove_mapping(struct dm_cache_policy *p, dm_oblock_t oblock)
  {
-   struct entry *e = hash_lookup(mq, oblock);
+   struct mq_policy *mq = to_mq_policy(p);
+   struct entry *e;
+
+   mutex_lock(mq-lock);
+
+   e = hash_lookup(mq, oblock);

BUG_ON(!e || !e-in_cache);

del(mq, e);
e-in_cache = false;
push(mq, e);
-}

-static void mq_remove_mapping(struct dm_cache_policy *p, dm_oblock_t oblock)
-{
-   struct mq_policy *mq = to_mq_policy(p);
-
-   mutex_lock(mq-lock);
-   remove_mapping(mq, oblock);
mutex_unlock(mq-lock);
  }




--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] dm cache: Avoid conflicting remove_mapping() in mq policy

2013-08-16 Thread Alasdair G Kergon
On Fri, Aug 16, 2013 at 01:31:18AM -0700, Guenter Roeck wrote:
 Is this patch going anyhere ? The problem breaks the sparc32:allmodconfig 
 build,
 so it would be useful to get it fixed.

We're pulling together a batch of patches today, including this one.

Alasdair

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] dm cache: Avoid conflicting remove_mapping() in mq policy

2013-07-26 Thread Geert Uytterhoeven
On sparc32, which includes  from :

drivers/md/dm-cache-policy-mq.c:962:13: error: conflicting types for 
'remove_mapping'
include/linux/swap.h:285:12: note: previous declaration of 'remove_mapping' was 
here

As mq_remove_mapping() already exists, and the local remove_mapping() is
used only once, inline it manually to avoid the conflict.

Signed-off-by: Geert Uytterhoeven 
---
I think this is also needed on hexagon, which includes  from
.

 drivers/md/dm-cache-policy-mq.c |   16 +++-
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/md/dm-cache-policy-mq.c b/drivers/md/dm-cache-policy-mq.c
index dc112a7..4296155 100644
--- a/drivers/md/dm-cache-policy-mq.c
+++ b/drivers/md/dm-cache-policy-mq.c
@@ -959,23 +959,21 @@ out:
return r;
 }
 
-static void remove_mapping(struct mq_policy *mq, dm_oblock_t oblock)
+static void mq_remove_mapping(struct dm_cache_policy *p, dm_oblock_t oblock)
 {
-   struct entry *e = hash_lookup(mq, oblock);
+   struct mq_policy *mq = to_mq_policy(p);
+   struct entry *e;
+
+   mutex_lock(>lock);
+
+   e = hash_lookup(mq, oblock);
 
BUG_ON(!e || !e->in_cache);
 
del(mq, e);
e->in_cache = false;
push(mq, e);
-}
 
-static void mq_remove_mapping(struct dm_cache_policy *p, dm_oblock_t oblock)
-{
-   struct mq_policy *mq = to_mq_policy(p);
-
-   mutex_lock(>lock);
-   remove_mapping(mq, oblock);
mutex_unlock(>lock);
 }
 
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] dm cache: Avoid conflicting remove_mapping() in mq policy

2013-07-26 Thread Geert Uytterhoeven
On sparc32, which includes linux/swap.h from asm/pgtable_32.h:

drivers/md/dm-cache-policy-mq.c:962:13: error: conflicting types for 
'remove_mapping'
include/linux/swap.h:285:12: note: previous declaration of 'remove_mapping' was 
here

As mq_remove_mapping() already exists, and the local remove_mapping() is
used only once, inline it manually to avoid the conflict.

Signed-off-by: Geert Uytterhoeven ge...@linux-m68k.org
---
I think this is also needed on hexagon, which includes linux/swap.h from
asm/pgtable.h.

 drivers/md/dm-cache-policy-mq.c |   16 +++-
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/md/dm-cache-policy-mq.c b/drivers/md/dm-cache-policy-mq.c
index dc112a7..4296155 100644
--- a/drivers/md/dm-cache-policy-mq.c
+++ b/drivers/md/dm-cache-policy-mq.c
@@ -959,23 +959,21 @@ out:
return r;
 }
 
-static void remove_mapping(struct mq_policy *mq, dm_oblock_t oblock)
+static void mq_remove_mapping(struct dm_cache_policy *p, dm_oblock_t oblock)
 {
-   struct entry *e = hash_lookup(mq, oblock);
+   struct mq_policy *mq = to_mq_policy(p);
+   struct entry *e;
+
+   mutex_lock(mq-lock);
+
+   e = hash_lookup(mq, oblock);
 
BUG_ON(!e || !e-in_cache);
 
del(mq, e);
e-in_cache = false;
push(mq, e);
-}
 
-static void mq_remove_mapping(struct dm_cache_policy *p, dm_oblock_t oblock)
-{
-   struct mq_policy *mq = to_mq_policy(p);
-
-   mutex_lock(mq-lock);
-   remove_mapping(mq, oblock);
mutex_unlock(mq-lock);
 }
 
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/