Message ID | 1286532193-29814-4-git-send-email-akinobu.mita@gmail.com |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
On 10/08/2010 03:03 AM, Akinobu Mita wrote: > asm-generic/bitops/le.h is only intended to be included directly from > asm-generic/bitops/ext2-non-atomic.h or asm-generic/bitops/minix-le.h > which implements generic ext2 or minix bit operations. > > This stops including asm-generic/bitops/le.h directly and use ext2 > non-atomic bit operations instead. > > An alternative approach is introducing little endian bit operations > in linux/bitops.h. But it needs to touch more files than this change does. > - generic___set_le_bit(off, (void *)map->m_page_addrs[i]); > + ext2_set_bit(off, (void *)map->m_page_addrs[i]); I'd like a solution that doesn't have rds calling a function starting with ext2_. Seems wrong. Thanks -- Regards -- Andy -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Andy Grover <andy.grover@oracle.com> Date: Fri, 08 Oct 2010 11:55:55 -0700 > On 10/08/2010 03:03 AM, Akinobu Mita wrote: >> asm-generic/bitops/le.h is only intended to be included directly from >> asm-generic/bitops/ext2-non-atomic.h or asm-generic/bitops/minix-le.h >> which implements generic ext2 or minix bit operations. >> >> This stops including asm-generic/bitops/le.h directly and use ext2 >> non-atomic bit operations instead. >> >> An alternative approach is introducing little endian bit operations >> in linux/bitops.h. But it needs to touch more files than this change >> does. > >> - generic___set_le_bit(off, (void *)map->m_page_addrs[i]); >> + ext2_set_bit(off, (void *)map->m_page_addrs[i]); > > I'd like a solution that doesn't have rds calling a function starting > with ext2_. Seems wrong. Agreed. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
2010/10/9 David Miller <davem@davemloft.net>: > From: Andy Grover <andy.grover@oracle.com> > Date: Fri, 08 Oct 2010 11:55:55 -0700 > >> On 10/08/2010 03:03 AM, Akinobu Mita wrote: >>> asm-generic/bitops/le.h is only intended to be included directly from >>> asm-generic/bitops/ext2-non-atomic.h or asm-generic/bitops/minix-le.h >>> which implements generic ext2 or minix bit operations. >>> >>> This stops including asm-generic/bitops/le.h directly and use ext2 >>> non-atomic bit operations instead. >>> >>> An alternative approach is introducing little endian bit operations >>> in linux/bitops.h. But it needs to touch more files than this change >>> does. >> >>> - generic___set_le_bit(off, (void *)map->m_page_addrs[i]); >>> + ext2_set_bit(off, (void *)map->m_page_addrs[i]); >> >> I'd like a solution that doesn't have rds calling a function starting >> with ext2_. Seems wrong. > > Agreed. OK, I'll rewrite the patch series to take the alternative approach. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/rds/cong.c b/net/rds/cong.c index 0871a29..5bd0f36 100644 --- a/net/rds/cong.c +++ b/net/rds/cong.c @@ -33,8 +33,7 @@ #include <linux/slab.h> #include <linux/types.h> #include <linux/rbtree.h> - -#include <asm-generic/bitops/le.h> +#include <linux/bitops.h> #include "rds.h" @@ -285,7 +284,7 @@ void rds_cong_set_bit(struct rds_cong_map *map, __be16 port) i = be16_to_cpu(port) / RDS_CONG_MAP_PAGE_BITS; off = be16_to_cpu(port) % RDS_CONG_MAP_PAGE_BITS; - generic___set_le_bit(off, (void *)map->m_page_addrs[i]); + ext2_set_bit(off, (void *)map->m_page_addrs[i]); } void rds_cong_clear_bit(struct rds_cong_map *map, __be16 port) @@ -299,7 +298,7 @@ void rds_cong_clear_bit(struct rds_cong_map *map, __be16 port) i = be16_to_cpu(port) / RDS_CONG_MAP_PAGE_BITS; off = be16_to_cpu(port) % RDS_CONG_MAP_PAGE_BITS; - generic___clear_le_bit(off, (void *)map->m_page_addrs[i]); + ext2_clear_bit(off, (void *)map->m_page_addrs[i]); } static int rds_cong_test_bit(struct rds_cong_map *map, __be16 port) @@ -310,7 +309,7 @@ static int rds_cong_test_bit(struct rds_cong_map *map, __be16 port) i = be16_to_cpu(port) / RDS_CONG_MAP_PAGE_BITS; off = be16_to_cpu(port) % RDS_CONG_MAP_PAGE_BITS; - return generic_test_le_bit(off, (void *)map->m_page_addrs[i]); + return ext2_test_bit(off, (void *)map->m_page_addrs[i]); } void rds_cong_add_socket(struct rds_sock *rs)
asm-generic/bitops/le.h is only intended to be included directly from asm-generic/bitops/ext2-non-atomic.h or asm-generic/bitops/minix-le.h which implements generic ext2 or minix bit operations. This stops including asm-generic/bitops/le.h directly and use ext2 non-atomic bit operations instead. An alternative approach is introducing little endian bit operations in linux/bitops.h. But it needs to touch more files than this change does. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: Andy Grover <andy.grover@oracle.com> Cc: rds-devel@oss.oracle.com Cc: "David S. Miller" <davem@davemloft.net> Cc: netdev@vger.kernel.org --- net/rds/cong.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-)