diff options
| author | Andreas Gruenbacher <agruenba@redhat.com> | 2017-10-01 17:55:54 -0400 |
|---|---|---|
| committer | Theodore Ts'o <tytso@mit.edu> | 2017-10-01 17:55:54 -0400 |
| commit | 19fe5f643f89f29c1a16bc474d91506b0e9a6232 (patch) | |
| tree | a6fce3b138de34c1058b807cff32bbd375172b04 /include/linux | |
| parent | 9e66317d3c92ddaab330c125dfe9d06eee268aff (diff) | |
iomap: Switch from blkno to disk offset
Replace iomap->blkno, the sector number, with iomap->addr, the disk
offset in bytes. For invalid disk offsets, use the special value
IOMAP_NULL_ADDR instead of IOMAP_NULL_BLOCK.
This allows to use iomap for mappings which are not block aligned, such
as inline data on ext4.
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> # iomap, xfs
Reviewed-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/iomap.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/include/linux/iomap.h b/include/linux/iomap.h index f64dc6ce5161..7b8a615fa021 100644 --- a/include/linux/iomap.h +++ b/include/linux/iomap.h | |||
| @@ -15,8 +15,8 @@ struct vm_fault; | |||
| 15 | */ | 15 | */ |
| 16 | #define IOMAP_HOLE 0x01 /* no blocks allocated, need allocation */ | 16 | #define IOMAP_HOLE 0x01 /* no blocks allocated, need allocation */ |
| 17 | #define IOMAP_DELALLOC 0x02 /* delayed allocation blocks */ | 17 | #define IOMAP_DELALLOC 0x02 /* delayed allocation blocks */ |
| 18 | #define IOMAP_MAPPED 0x03 /* blocks allocated @blkno */ | 18 | #define IOMAP_MAPPED 0x03 /* blocks allocated at @addr */ |
| 19 | #define IOMAP_UNWRITTEN 0x04 /* blocks allocated @blkno in unwritten state */ | 19 | #define IOMAP_UNWRITTEN 0x04 /* blocks allocated at @addr in unwritten state */ |
| 20 | 20 | ||
| 21 | /* | 21 | /* |
| 22 | * Flags for all iomap mappings: | 22 | * Flags for all iomap mappings: |
| @@ -30,12 +30,12 @@ struct vm_fault; | |||
| 30 | #define IOMAP_F_SHARED 0x20 /* block shared with another file */ | 30 | #define IOMAP_F_SHARED 0x20 /* block shared with another file */ |
| 31 | 31 | ||
| 32 | /* | 32 | /* |
| 33 | * Magic value for blkno: | 33 | * Magic value for addr: |
| 34 | */ | 34 | */ |
| 35 | #define IOMAP_NULL_BLOCK -1LL /* blkno is not valid */ | 35 | #define IOMAP_NULL_ADDR -1ULL /* addr is not valid */ |
| 36 | 36 | ||
| 37 | struct iomap { | 37 | struct iomap { |
| 38 | sector_t blkno; /* 1st sector of mapping, 512b units */ | 38 | u64 addr; /* disk offset of mapping, bytes */ |
| 39 | loff_t offset; /* file offset of mapping, bytes */ | 39 | loff_t offset; /* file offset of mapping, bytes */ |
| 40 | u64 length; /* length of mapping, bytes */ | 40 | u64 length; /* length of mapping, bytes */ |
| 41 | u16 type; /* type of mapping */ | 41 | u16 type; /* type of mapping */ |
