projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dm: use bio op accessors
[cascardo/linux.git]
/
drivers
/
md
/
dm-snap-persistent.c
diff --git
a/drivers/md/dm-snap-persistent.c
b/drivers/md/dm-snap-persistent.c
index
4d39093
..
b8cf956
100644
(file)
--- a/
drivers/md/dm-snap-persistent.c
+++ b/
drivers/md/dm-snap-persistent.c
@@
-226,8
+226,8
@@
static void do_metadata(struct work_struct *work)
/*
* Read or write a chunk aligned and sized block of data from a device.
*/
/*
* Read or write a chunk aligned and sized block of data from a device.
*/
-static int chunk_io(struct pstore *ps, void *area, chunk_t chunk, int
rw
,
- int metadata)
+static int chunk_io(struct pstore *ps, void *area, chunk_t chunk, int
op
,
+ int
op_flags, int
metadata)
{
struct dm_io_region where = {
.bdev = dm_snap_cow(ps->store->snap)->bdev,
{
struct dm_io_region where = {
.bdev = dm_snap_cow(ps->store->snap)->bdev,
@@
-235,7
+235,8
@@
static int chunk_io(struct pstore *ps, void *area, chunk_t chunk, int rw,
.count = ps->store->chunk_size,
};
struct dm_io_request io_req = {
.count = ps->store->chunk_size,
};
struct dm_io_request io_req = {
- .bi_rw = rw,
+ .bi_op = op,
+ .bi_op_flags = op_flags,
.mem.type = DM_IO_VMA,
.mem.ptr.vma = area,
.client = ps->io_client,
.mem.type = DM_IO_VMA,
.mem.ptr.vma = area,
.client = ps->io_client,
@@
-281,14
+282,14
@@
static void skip_metadata(struct pstore *ps)
* Read or write a metadata area. Remembering to skip the first
* chunk which holds the header.
*/
* Read or write a metadata area. Remembering to skip the first
* chunk which holds the header.
*/
-static int area_io(struct pstore *ps, int
rw
)
+static int area_io(struct pstore *ps, int
op, int op_flags
)
{
int r;
chunk_t chunk;
chunk = area_location(ps, ps->current_area);
{
int r;
chunk_t chunk;
chunk = area_location(ps, ps->current_area);
- r = chunk_io(ps, ps->area, chunk,
rw
, 0);
+ r = chunk_io(ps, ps->area, chunk,
op, op_flags
, 0);
if (r)
return r;
if (r)
return r;
@@
-302,7
+303,8
@@
static void zero_memory_area(struct pstore *ps)
static int zero_disk_area(struct pstore *ps, chunk_t area)
{
static int zero_disk_area(struct pstore *ps, chunk_t area)
{
- return chunk_io(ps, ps->zero_area, area_location(ps, area), WRITE, 0);
+ return chunk_io(ps, ps->zero_area, area_location(ps, area),
+ REQ_OP_WRITE, 0, 0);
}
static int read_header(struct pstore *ps, int *new_snapshot)
}
static int read_header(struct pstore *ps, int *new_snapshot)
@@
-334,7
+336,7
@@
static int read_header(struct pstore *ps, int *new_snapshot)
if (r)
return r;
if (r)
return r;
- r = chunk_io(ps, ps->header_area, 0, RE
AD
, 1);
+ r = chunk_io(ps, ps->header_area, 0, RE
Q_OP_READ, 0
, 1);
if (r)
goto bad;
if (r)
goto bad;
@@
-395,7
+397,7
@@
static int write_header(struct pstore *ps)
dh->version = cpu_to_le32(ps->version);
dh->chunk_size = cpu_to_le32(ps->store->chunk_size);
dh->version = cpu_to_le32(ps->version);
dh->chunk_size = cpu_to_le32(ps->store->chunk_size);
- return chunk_io(ps, ps->header_area, 0,
WRITE
, 1);
+ return chunk_io(ps, ps->header_area, 0,
REQ_OP_WRITE, 0
, 1);
}
/*
}
/*
@@
-739,7
+741,7
@@
static void persistent_commit_exception(struct dm_exception_store *store,
/*
* Commit exceptions to disk.
*/
/*
* Commit exceptions to disk.
*/
- if (ps->valid && area_io(ps, WRITE_FLUSH_FUA))
+ if (ps->valid && area_io(ps,
REQ_OP_WRITE,
WRITE_FLUSH_FUA))
ps->valid = 0;
/*
ps->valid = 0;
/*
@@
-779,7
+781,7
@@
static int persistent_prepare_merge(struct dm_exception_store *store,
return 0;
ps->current_area--;
return 0;
ps->current_area--;
- r = area_io(ps, RE
AD
);
+ r = area_io(ps, RE
Q_OP_READ, 0
);
if (r < 0)
return r;
ps->current_committed = ps->exceptions_per_area;
if (r < 0)
return r;
ps->current_committed = ps->exceptions_per_area;
@@
-816,7
+818,7
@@
static int persistent_commit_merge(struct dm_exception_store *store,
for (i = 0; i < nr_merged; i++)
clear_exception(ps, ps->current_committed - 1 - i);
for (i = 0; i < nr_merged; i++)
clear_exception(ps, ps->current_committed - 1 - i);
- r = area_io(ps, WRITE_FLUSH_FUA);
+ r = area_io(ps,
REQ_OP_WRITE,
WRITE_FLUSH_FUA);
if (r < 0)
return r;
if (r < 0)
return r;