Re: [PATCH] target: use offset_in_page macro

2015-11-29 Thread Nicholas A. Bellinger
Hi Geliang,

On Wed, 2015-11-25 at 21:49 +0800, Geliang Tang wrote:
> Use offset_in_page macro instead of (addr & ~PAGE_MASK).
> 
> Signed-off-by: Geliang Tang 
> ---
>  drivers/target/target_core_user.c | 2 +-
>  drivers/target/tcm_fc/tfc_io.c| 8 
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/target/target_core_user.c 
> b/drivers/target/target_core_user.c
> index 937cebf..d5477c0 100644
> --- a/drivers/target/target_core_user.c
> +++ b/drivers/target/target_core_user.c
> @@ -194,7 +194,7 @@ static struct tcmu_cmd *tcmu_alloc_cmd(struct se_cmd 
> *se_cmd)
>  
>  static inline void tcmu_flush_dcache_range(void *vaddr, size_t size)
>  {
> - unsigned long offset = (unsigned long) vaddr & ~PAGE_MASK;
> + unsigned long offset = offset_in_page(vaddr);
>  
>   size = round_up(size+offset, PAGE_SIZE);
>   vaddr -= offset;
> diff --git a/drivers/target/tcm_fc/tfc_io.c b/drivers/target/tcm_fc/tfc_io.c
> index 847c1aa..6f7c65a 100644
> --- a/drivers/target/tcm_fc/tfc_io.c
> +++ b/drivers/target/tcm_fc/tfc_io.c
> @@ -154,9 +154,9 @@ int ft_queue_data_in(struct se_cmd *se_cmd)
>   BUG_ON(!page);
>   from = kmap_atomic(page + (mem_off >> PAGE_SHIFT));
>   page_addr = from;
> - from += mem_off & ~PAGE_MASK;
> + from += offset_in_page(mem_off);
>   tlen = min(tlen, (size_t)(PAGE_SIZE -
> - (mem_off & ~PAGE_MASK)));
> + offset_in_page(mem_off)));
>   memcpy(to, from, tlen);
>   kunmap_atomic(page_addr);
>   to += tlen;
> @@ -314,9 +314,9 @@ void ft_recv_write_data(struct ft_cmd *cmd, struct 
> fc_frame *fp)
>  
>   to = kmap_atomic(page + (mem_off >> PAGE_SHIFT));
>   page_addr = to;
> - to += mem_off & ~PAGE_MASK;
> + to += offset_in_page(mem_off);
>   tlen = min(tlen, (size_t)(PAGE_SIZE -
> -   (mem_off & ~PAGE_MASK)));
> +   offset_in_page(mem_off)));
>   memcpy(to, from, tlen);
>   kunmap_atomic(page_addr);
>  

Applied to target-pending/for-next.

Thank you,

--nab

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


[PATCH] target: use offset_in_page macro

2015-11-25 Thread Geliang Tang
Use offset_in_page macro instead of (addr & ~PAGE_MASK).

Signed-off-by: Geliang Tang 
---
 drivers/target/target_core_user.c | 2 +-
 drivers/target/tcm_fc/tfc_io.c| 8 
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/target/target_core_user.c 
b/drivers/target/target_core_user.c
index 937cebf..d5477c0 100644
--- a/drivers/target/target_core_user.c
+++ b/drivers/target/target_core_user.c
@@ -194,7 +194,7 @@ static struct tcmu_cmd *tcmu_alloc_cmd(struct se_cmd 
*se_cmd)
 
 static inline void tcmu_flush_dcache_range(void *vaddr, size_t size)
 {
-   unsigned long offset = (unsigned long) vaddr & ~PAGE_MASK;
+   unsigned long offset = offset_in_page(vaddr);
 
size = round_up(size+offset, PAGE_SIZE);
vaddr -= offset;
diff --git a/drivers/target/tcm_fc/tfc_io.c b/drivers/target/tcm_fc/tfc_io.c
index 847c1aa..6f7c65a 100644
--- a/drivers/target/tcm_fc/tfc_io.c
+++ b/drivers/target/tcm_fc/tfc_io.c
@@ -154,9 +154,9 @@ int ft_queue_data_in(struct se_cmd *se_cmd)
BUG_ON(!page);
from = kmap_atomic(page + (mem_off >> PAGE_SHIFT));
page_addr = from;
-   from += mem_off & ~PAGE_MASK;
+   from += offset_in_page(mem_off);
tlen = min(tlen, (size_t)(PAGE_SIZE -
-   (mem_off & ~PAGE_MASK)));
+   offset_in_page(mem_off)));
memcpy(to, from, tlen);
kunmap_atomic(page_addr);
to += tlen;
@@ -314,9 +314,9 @@ void ft_recv_write_data(struct ft_cmd *cmd, struct fc_frame 
*fp)
 
to = kmap_atomic(page + (mem_off >> PAGE_SHIFT));
page_addr = to;
-   to += mem_off & ~PAGE_MASK;
+   to += offset_in_page(mem_off);
tlen = min(tlen, (size_t)(PAGE_SIZE -
- (mem_off & ~PAGE_MASK)));
+ offset_in_page(mem_off)));
memcpy(to, from, tlen);
kunmap_atomic(page_addr);
 
-- 
2.5.0


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


Re: [PATCH] target: use offset_in_page macro

2015-11-25 Thread Johannes Thumshirn
On Wed, 2015-11-25 at 21:49 +0800, Geliang Tang wrote:
> Use offset_in_page macro instead of (addr & ~PAGE_MASK).
> 
> Signed-off-by: Geliang Tang 
> ---
>  drivers/target/target_core_user.c | 2 +-
>  drivers/target/tcm_fc/tfc_io.c| 8 
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/target/target_core_user.c
> b/drivers/target/target_core_user.c
> index 937cebf..d5477c0 100644
> --- a/drivers/target/target_core_user.c
> +++ b/drivers/target/target_core_user.c
> @@ -194,7 +194,7 @@ static struct tcmu_cmd *tcmu_alloc_cmd(struct se_cmd
> *se_cmd)
>  
>  static inline void tcmu_flush_dcache_range(void *vaddr, size_t size)
>  {
> - unsigned long offset = (unsigned long) vaddr & ~PAGE_MASK;
> + unsigned long offset = offset_in_page(vaddr);
>  
>   size = round_up(size+offset, PAGE_SIZE);
>   vaddr -= offset;
> diff --git a/drivers/target/tcm_fc/tfc_io.c b/drivers/target/tcm_fc/tfc_io.c
> index 847c1aa..6f7c65a 100644
> --- a/drivers/target/tcm_fc/tfc_io.c
> +++ b/drivers/target/tcm_fc/tfc_io.c
> @@ -154,9 +154,9 @@ int ft_queue_data_in(struct se_cmd *se_cmd)
>   BUG_ON(!page);
>   from = kmap_atomic(page + (mem_off >> PAGE_SHIFT));
>   page_addr = from;
> - from += mem_off & ~PAGE_MASK;
> + from += offset_in_page(mem_off);
>   tlen = min(tlen, (size_t)(PAGE_SIZE -
> - (mem_off & ~PAGE_MASK)));
> + offset_in_page(mem_off)));
>   memcpy(to, from, tlen);
>   kunmap_atomic(page_addr);
>   to += tlen;
> @@ -314,9 +314,9 @@ void ft_recv_write_data(struct ft_cmd *cmd, struct
> fc_frame *fp)
>  
>   to = kmap_atomic(page + (mem_off >> PAGE_SHIFT));
>   page_addr = to;
> - to += mem_off & ~PAGE_MASK;
> + to += offset_in_page(mem_off);
>   tlen = min(tlen, (size_t)(PAGE_SIZE -
> -   (mem_off & ~PAGE_MASK)));
> +   offset_in_page(mem_off)));
>   memcpy(to, from, tlen);
>   kunmap_atomic(page_addr);
>  

Reviewed-by: Johannes Thumshirn 
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] target: use offset_in_page macro

2015-11-25 Thread Sagi Grimberg

Looks fine,

Reviewed-by: Sagi Grimberg 
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html