2010-11-01 17:40:04

by Jim Rees

[permalink] [raw]
Subject: [PATCH] Return failure from bl_initialize_mountpoint if we can't get the device for the disk list.

Signed-off-by: Jim Rees <[email protected]>
---
fs/nfs/blocklayout/blocklayout.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c
index 57a7f04..b3ab4cb 100644
--- a/fs/nfs/blocklayout/blocklayout.c
+++ b/fs/nfs/blocklayout/blocklayout.c
@@ -677,7 +677,7 @@ static void free_blk_mountid(struct block_mount_id *mid)
}
}

-/* This is mostly copied form the filelayout's get_device_info function.
+/* This is mostly copied from the filelayout's get_device_info function.
* It seems much of this should be at the generic pnfs level.
*/
static struct pnfs_block_dev *
@@ -796,8 +796,10 @@ bl_initialize_mountpoint(struct nfs_server *server, const struct nfs_fh *fh)
bdev = nfs4_blk_get_deviceinfo(server, fh,
&dlist->dev_id[i],
&block_disklist);
- if (!bdev)
+ if (!bdev) {
+ status = -ENODEV;
goto out_error;
+ }
spin_lock(&b_mt_id->bm_lock);
list_add(&bdev->bm_node, &b_mt_id->bm_devlist);
spin_unlock(&b_mt_id->bm_lock);
--
1.7.1



2010-11-03 15:49:27

by Benny Halevy

[permalink] [raw]
Subject: Re: [PATCH] Return failure from bl_initialize_mountpoint if we can't get the device for the disk list.

On 2010-11-01 19:40, Jim Rees wrote:
> Signed-off-by: Jim Rees <[email protected]>

Merged in pnfs-all-2.6.37-rc1-2010-11-03 (function renamed to bl_set_layoutdriver)
and in pnfs-all-2.6.36-2010-11-03.

Thanks!

Benny

> ---
> fs/nfs/blocklayout/blocklayout.c | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c
> index 57a7f04..b3ab4cb 100644
> --- a/fs/nfs/blocklayout/blocklayout.c
> +++ b/fs/nfs/blocklayout/blocklayout.c
> @@ -677,7 +677,7 @@ static void free_blk_mountid(struct block_mount_id *mid)
> }
> }
>
> -/* This is mostly copied form the filelayout's get_device_info function.
> +/* This is mostly copied from the filelayout's get_device_info function.
> * It seems much of this should be at the generic pnfs level.
> */
> static struct pnfs_block_dev *
> @@ -796,8 +796,10 @@ bl_initialize_mountpoint(struct nfs_server *server, const struct nfs_fh *fh)
> bdev = nfs4_blk_get_deviceinfo(server, fh,
> &dlist->dev_id[i],
> &block_disklist);
> - if (!bdev)
> + if (!bdev) {
> + status = -ENODEV;
> goto out_error;
> + }
> spin_lock(&b_mt_id->bm_lock);
> list_add(&bdev->bm_node, &b_mt_id->bm_devlist);
> spin_unlock(&b_mt_id->bm_lock);