Re: [PATCH] nfs: fix a couple of minor portability issues

From: Peng Tao
Date: Thu Aug 11 2011 - 11:17:30 EST


On Thu, Aug 11, 2011 at 1:56 AM, Chris Metcalf <cmetcalf@xxxxxxxxxx> wrote:
> Building on tilepro revealed two minor portability issues: the
> blocklayout.c file used prefetchw() without #include <linux/prefetch.h>,
> and the nfs4filelayout.c file used do_div() on an s64 not a u64.
> This change fixes those two issues so the NFS code builds on tilepro.
>
> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx>
> ---
> Âfs/nfs/blocklayout/blocklayout.c | Â Â1 +
> Âfs/nfs/nfs4filelayout.c     Â|  Â6 +++---
> Â2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c
> index e56564d..9561c8f 100644
> --- a/fs/nfs/blocklayout/blocklayout.c
> +++ b/fs/nfs/blocklayout/blocklayout.c
> @@ -36,6 +36,7 @@
> Â#include <linux/namei.h>
> Â#include <linux/bio.h> Â Â Â Â /* struct bio */
> Â#include <linux/buffer_head.h> /* various write calls */
> +#include <linux/prefetch.h>
This is already fixed in Trond's nfs-for-next branch by commit 88c9e4219.

>
> Â#include "blocklayout.h"
>
> diff --git a/fs/nfs/nfs4filelayout.c b/fs/nfs/nfs4filelayout.c
> index e8915d4..6976a72 100644
> --- a/fs/nfs/nfs4filelayout.c
> +++ b/fs/nfs/nfs4filelayout.c
> @@ -48,13 +48,13 @@ filelayout_get_dense_offset(struct nfs4_filelayout_segment *flseg,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Âloff_t offset)
> Â{
> Â Â Â Âu32 stripe_width = flseg->stripe_unit * flseg->dsaddr->stripe_count;
> - Â Â Â u64 tmp;
> + Â Â Â u64 tmp, uoff;
>
> Â Â Â Âoffset -= flseg->pattern_offset;
> - Â Â Â tmp = offset;
> + Â Â Â tmp = uoff = offset;
> Â Â Â Âdo_div(tmp, stripe_width);
>
> - Â Â Â return tmp * flseg->stripe_unit + do_div(offset, flseg->stripe_unit);
> + Â Â Â return tmp * flseg->stripe_unit + do_div(uoff, flseg->stripe_unit);
> Â}
>
> Â/* This function is used by the layout driver to calculate the
> --
> 1.6.5.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at Âhttp://vger.kernel.org/majordomo-info.html
>



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