@@ -515,7 +515,7 @@ bl_write_pagelist(struct nfs_write_data *wdata,
/* FIXME - range ignored */
static void
release_extents(struct pnfs_block_layout *bl,
- struct nfs4_pnfs_layout_segment *range)
+ struct pnfs_layout_range *range)
{
int i;
struct pnfs_block_extent *be;
@@ -547,7 +547,7 @@ release_inval_marks(struct pnfs_inval_markings *marks)
/* Note we are relying on caller locking to prevent nasty races. */
static void
-bl_free_layout(struct pnfs_layout_type *lo)
+bl_free_layout(struct pnfs_layout_hdr *lo)
{
struct pnfs_block_layout *bl = BLK_LO2EXT(lo);
@@ -557,7 +557,7 @@ bl_free_layout(struct pnfs_layout_type *lo)
kfree(bl);
}
-static struct pnfs_layout_type *
+static struct pnfs_layout_hdr *
bl_alloc_layout(struct inode *inode)
{
struct pnfs_block_layout *bl;
@@ -590,8 +590,8 @@ bl_free_lseg(struct pnfs_layout_segment *lseg)
* cause lots of unnecessary overlapping LAYOUTGET requests.
*/
static struct pnfs_layout_segment *
-bl_alloc_lseg(struct pnfs_layout_type *lo,
- struct nfs4_pnfs_layoutget_res *lgr)
+bl_alloc_lseg(struct pnfs_layout_hdr *lo,
+ struct nfs4_layoutget_res *lgr)
{
struct pnfs_layout_segment *lseg;
int status;
@@ -617,8 +617,8 @@ bl_alloc_lseg(struct pnfs_layout_type *lo,
}
static int
-bl_setup_layoutcommit(struct pnfs_layout_type *lo,
- struct pnfs_layoutcommit_arg *arg)
+bl_setup_layoutcommit(struct pnfs_layout_hdr *lo,
+ struct nfs4_layoutcommit_args *arg)
{
struct nfs_server *nfss = PNFS_NFS_SERVER(lo);
struct bl_layoutupdate_data *layoutupdate_data;
@@ -627,11 +627,11 @@ bl_setup_layoutcommit(struct pnfs_layout_type *lo,
/* Need to ensure commit is block-size aligned */
if (nfss->pnfs_blksize) {
u64 mask = nfss->pnfs_blksize - 1;
- u64 offset = arg->lseg.offset & mask;
+ u64 offset = arg->range.offset & mask;
- arg->lseg.offset -= offset;
- arg->lseg.length += offset + mask;
- arg->lseg.length &= ~mask;
+ arg->range.offset -= offset;
+ arg->range.length += offset + mask;
+ arg->range.length &= ~mask;
}
layoutupdate_data = kmalloc(sizeof(struct bl_layoutupdate_data),
@@ -645,16 +645,16 @@ bl_setup_layoutcommit(struct pnfs_layout_type *lo,
}
static void
-bl_encode_layoutcommit(struct pnfs_layout_type *lo, struct xdr_stream *xdr,
- const struct pnfs_layoutcommit_arg *arg)
+bl_encode_layoutcommit(struct pnfs_layout_hdr *lo, struct xdr_stream *xdr,
+ const struct nfs4_layoutcommit_args *arg)
{
dprintk("%s enter\n", __func__);
encode_pnfs_block_layoutupdate(BLK_LO2EXT(lo), xdr, arg);
}
static void
-bl_cleanup_layoutcommit(struct pnfs_layout_type *lo,
- struct pnfs_layoutcommit_arg *arg, int status)
+bl_cleanup_layoutcommit(struct pnfs_layout_hdr *lo,
+ struct nfs4_layoutcommit_args *arg, int status)
{
dprintk("%s enter\n", __func__);
clean_pnfs_block_layoutupdate(BLK_LO2EXT(lo), arg, status);
@@ -1087,7 +1087,7 @@ bl_write_end_cleanup(struct file *filp, struct pnfs_fsdata *fsdata)
}
static ssize_t
-bl_get_stripesize(struct pnfs_layout_type *lo)
+bl_get_stripesize(struct pnfs_layout_hdr *lo)
{
dprintk("%s enter\n", __func__);
return 0;
@@ -33,7 +33,6 @@
#define FS_NFS_NFS4BLOCKLAYOUT_H
#include <linux/nfs_fs.h>
-#include <linux/pnfs_xdr.h> /* Needed by nfs4_pnfs.h */
#include <linux/nfs4_pnfs.h>
#include <linux/dm-ioctl.h> /* Needed for struct dm_ioctl*/
@@ -176,7 +175,7 @@ static inline int choose_list(enum exstate4 state)
}
struct pnfs_block_layout {
- struct pnfs_layout_type bl_layout;
+ struct pnfs_layout_hdr bl_layout;
struct pnfs_inval_markings bl_inval; /* tracks INVAL->RW transition */
spinlock_t bl_ext_lock; /* Protects list manipulation */
struct list_head bl_extents[EXTENT_LISTS]; /* R and RW extents */
@@ -195,7 +194,7 @@ struct bl_layoutupdate_data {
#define BLK_ID(lo) ((struct block_mount_id *)(PNFS_NFS_SERVER(lo)->pnfs_ld_data))
static inline struct pnfs_block_layout *
-BLK_LO2EXT(struct pnfs_layout_type *lo)
+BLK_LO2EXT(struct pnfs_layout_hdr *lo)
{
return container_of(lo, struct pnfs_block_layout, bl_layout);
}
@@ -257,8 +256,8 @@ int nfs4_blkdev_put(struct block_device *bdev);
struct pnfs_block_dev *nfs4_blk_decode_device(struct nfs_server *server,
struct pnfs_device *dev,
struct list_head *sdlist);
-int nfs4_blk_process_layoutget(struct pnfs_layout_type *lo,
- struct nfs4_pnfs_layoutget_res *lgr);
+int nfs4_blk_process_layoutget(struct pnfs_layout_hdr *lo,
+ struct nfs4_layoutget_res *lgr);
int nfs4_blk_create_block_disk_list(struct list_head *);
void nfs4_blk_destroy_disk_list(struct list_head *);
/* blocklayoutdm.c */
@@ -277,9 +276,9 @@ struct pnfs_block_extent *get_extent(struct pnfs_block_extent *be);
int is_sector_initialized(struct pnfs_inval_markings *marks, sector_t isect);
int encode_pnfs_block_layoutupdate(struct pnfs_block_layout *bl,
struct xdr_stream *xdr,
- const struct pnfs_layoutcommit_arg *arg);
+ const struct nfs4_layoutcommit_args *arg);
void clean_pnfs_block_layoutupdate(struct pnfs_block_layout *bl,
- const struct pnfs_layoutcommit_arg *arg,
+ const struct nfs4_layoutcommit_args *arg,
int status);
int add_and_merge_extent(struct pnfs_block_layout *bl,
struct pnfs_block_extent *new);
@@ -152,7 +152,7 @@ out_err:
}
/* Map deviceid returned by the server to constructed block_device */
-static struct block_device *translate_devid(struct pnfs_layout_type *lo,
+static struct block_device *translate_devid(struct pnfs_layout_hdr *lo,
struct pnfs_deviceid *id)
{
struct block_device *rv = NULL;
@@ -231,8 +231,8 @@ static int verify_extent(struct pnfs_block_extent *be,
/* XDR decode pnfs_block_layout4 structure */
int
-nfs4_blk_process_layoutget(struct pnfs_layout_type *lo,
- struct nfs4_pnfs_layoutget_res *lgr)
+nfs4_blk_process_layoutget(struct pnfs_layout_hdr *lo,
+ struct nfs4_layoutget_res *lgr)
{
struct pnfs_block_layout *bl = BLK_LO2EXT(lo);
uint32_t *p = (uint32_t *)lgr->layout.buf;
@@ -242,10 +242,10 @@ nfs4_blk_process_layoutget(struct pnfs_layout_type *lo,
struct pnfs_block_extent *be = NULL, *save;
uint64_t tmp; /* Used by READSECTOR */
struct layout_verification lv = {
- .mode = lgr->lseg.iomode,
- .start = lgr->lseg.offset >> 9,
- .inval = lgr->lseg.offset >> 9,
- .cowread = lgr->lseg.offset >> 9,
+ .mode = lgr->range.iomode,
+ .start = lgr->range.offset >> 9,
+ .inval = lgr->range.offset >> 9,
+ .cowread = lgr->range.offset >> 9,
};
LIST_HEAD(extents);
@@ -290,7 +290,7 @@ nfs4_blk_process_layoutget(struct pnfs_layout_type *lo,
be = NULL;
goto out_err;
}
- if (lgr->lseg.offset + lgr->lseg.length != lv.start << 9) {
+ if (lgr->range.offset + lgr->range.length != lv.start << 9) {
dprintk("%s Final length mismatch\n", __func__);
be = NULL;
goto out_err;
@@ -738,7 +738,7 @@ find_get_extent_locked(struct pnfs_block_layout *bl, sector_t isect)
int
encode_pnfs_block_layoutupdate(struct pnfs_block_layout *bl,
struct xdr_stream *xdr,
- const struct pnfs_layoutcommit_arg *arg)
+ const struct nfs4_layoutcommit_args *arg)
{
sector_t start, end;
struct pnfs_block_short_extent *lce, *save;
@@ -748,8 +748,8 @@ encode_pnfs_block_layoutupdate(struct pnfs_block_layout *bl,
__be32 *p, *xdr_start;
dprintk("%s enter\n", __func__);
- start = arg->lseg.offset >> 9;
- end = start + (arg->lseg.length >> 9);
+ start = arg->range.offset >> 9;
+ end = start + (arg->range.length >> 9);
dprintk("%s set start=%llu, end=%llu\n",
__func__, (u64)start, (u64)end);
@@ -922,7 +922,7 @@ set_to_rw(struct pnfs_block_layout *bl, u64 offset, u64 length)
void
clean_pnfs_block_layoutupdate(struct pnfs_block_layout *bl,
- const struct pnfs_layoutcommit_arg *arg,
+ const struct nfs4_layoutcommit_args *arg,
int status)
{
struct bl_layoutupdate_data *bld = arg->layoutdriver_data;