Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Cluster Development (http://www.linux-archive.org/cluster-development/)
-   -   GFS2: Eliminate 64-bit divides (http://www.linux-archive.org/cluster-development/685704-gfs2-eliminate-64-bit-divides.html)

Steven Whitehouse 07-20-2012 06:41 PM

GFS2: Eliminate 64-bit divides
 
Hi,

Thanks - now in the -nmw tree,

Steve.

On Fri, 2012-07-20 at 14:05 -0400, Bob Peterson wrote:
> Hi,
>
> This patch removes the 64-bit divides introduced in the previous patch
> in favor of shifting, so that it will compile properly on 32-bit machines.
>
> Regards,
>
> Bob Peterson
> Red Hat File Systems
>
> Signed-off-by: Bob Peterson <rpeterso@redhat.com>
> ---
> commit 050bf58948473a5c83e22f3db046f52a9ffa4cce
> Author: Bob Peterson <rpeterso@redhat.com>
> Date: Fri Jul 20 12:59:43 2012 -0500
>
> GFS2: Eliminate 64-bit divides
>
> This patch removes the 64-bit divides in favor of shifting, so that
> it will compile properly on 32-bit machines.
> ---
> fs/gfs2/file.c | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
> index 9f94832..9aa6af1 100644
> --- a/fs/gfs2/file.c
> +++ b/fs/gfs2/file.c
> @@ -384,7 +384,7 @@ static int gfs2_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
> return ret;
>
> atomic_set(&ip->i_res->rs_sizehint,
> - PAGE_CACHE_SIZE / sdp->sd_sb.sb_bsize);
> + PAGE_CACHE_SIZE >> sdp->sd_sb.sb_bsize_shift);
>
> gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh);
> ret = gfs2_glock_nq(&gh);
> @@ -669,7 +669,7 @@ static ssize_t gfs2_file_aio_write(struct kiocb *iocb, const struct iovec *iov,
> if (ret)
> return ret;
>
> - atomic_set(&ip->i_res->rs_sizehint, writesize / sdp->sd_sb.sb_bsize);
> + atomic_set(&ip->i_res->rs_sizehint, writesize >> sdp->sd_sb.sb_bsize_shift);
> if (file->f_flags & O_APPEND) {
> struct gfs2_holder gh;
>
> @@ -795,7 +795,7 @@ static long gfs2_fallocate(struct file *file, int mode, loff_t offset,
> if (unlikely(error))
> goto out_uninit;
>
> - atomic_set(&ip->i_res->rs_sizehint, len / sdp->sd_sb.sb_bsize);
> + atomic_set(&ip->i_res->rs_sizehint, len >> sdp->sd_sb.sb_bsize_shift);
>
> while (len > 0) {
> if (len < bytes)
>

Steven Whitehouse 07-23-2012 08:01 AM

GFS2: Eliminate 64-bit divides
 
From: Bob Peterson <rpeterso@redhat.com>

This patch removes the 64-bit divides introduced in the previous patch
in favor of shifting, so that it will compile properly on 32-bit machines.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>

diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
index 9f94832..9aa6af1 100644
--- a/fs/gfs2/file.c
+++ b/fs/gfs2/file.c
@@ -384,7 +384,7 @@ static int gfs2_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
return ret;

atomic_set(&ip->i_res->rs_sizehint,
- PAGE_CACHE_SIZE / sdp->sd_sb.sb_bsize);
+ PAGE_CACHE_SIZE >> sdp->sd_sb.sb_bsize_shift);

gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh);
ret = gfs2_glock_nq(&gh);
@@ -669,7 +669,7 @@ static ssize_t gfs2_file_aio_write(struct kiocb *iocb, const struct iovec *iov,
if (ret)
return ret;

- atomic_set(&ip->i_res->rs_sizehint, writesize / sdp->sd_sb.sb_bsize);
+ atomic_set(&ip->i_res->rs_sizehint, writesize >> sdp->sd_sb.sb_bsize_shift);
if (file->f_flags & O_APPEND) {
struct gfs2_holder gh;

@@ -795,7 +795,7 @@ static long gfs2_fallocate(struct file *file, int mode, loff_t offset,
if (unlikely(error))
goto out_uninit;

- atomic_set(&ip->i_res->rs_sizehint, len / sdp->sd_sb.sb_bsize);
+ atomic_set(&ip->i_res->rs_sizehint, len >> sdp->sd_sb.sb_bsize_shift);

while (len > 0) {
if (len < bytes)
--
1.7.4


All times are GMT. The time now is 07:14 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.