mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
iomap: move IOMAP_F_BOUNDARY to gfs2
Just define a range of fs specific flags and use that in gfs2 instead of exposing this internal flag globally. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
parent
9ecac0ef22
commit
7ee66c03e4
@ -683,6 +683,8 @@ static void gfs2_stuffed_iomap(struct inode *inode, struct iomap *iomap)
|
||||
iomap->type = IOMAP_INLINE;
|
||||
}
|
||||
|
||||
#define IOMAP_F_GFS2_BOUNDARY IOMAP_F_PRIVATE
|
||||
|
||||
/**
|
||||
* gfs2_iomap_begin - Map blocks from an inode to disk blocks
|
||||
* @inode: The inode
|
||||
@ -774,7 +776,7 @@ int gfs2_iomap_begin(struct inode *inode, loff_t pos, loff_t length,
|
||||
bh = mp.mp_bh[ip->i_height - 1];
|
||||
len = gfs2_extent_length(bh->b_data, bh->b_size, ptr, lend - lblock, &eob);
|
||||
if (eob)
|
||||
iomap->flags |= IOMAP_F_BOUNDARY;
|
||||
iomap->flags |= IOMAP_F_GFS2_BOUNDARY;
|
||||
iomap->length = (u64)len << inode->i_blkbits;
|
||||
|
||||
out_release:
|
||||
@ -846,12 +848,12 @@ int gfs2_block_map(struct inode *inode, sector_t lblock,
|
||||
|
||||
if (iomap.length > bh_map->b_size) {
|
||||
iomap.length = bh_map->b_size;
|
||||
iomap.flags &= ~IOMAP_F_BOUNDARY;
|
||||
iomap.flags &= ~IOMAP_F_GFS2_BOUNDARY;
|
||||
}
|
||||
if (iomap.addr != IOMAP_NULL_ADDR)
|
||||
map_bh(bh_map, inode->i_sb, iomap.addr >> inode->i_blkbits);
|
||||
bh_map->b_size = iomap.length;
|
||||
if (iomap.flags & IOMAP_F_BOUNDARY)
|
||||
if (iomap.flags & IOMAP_F_GFS2_BOUNDARY)
|
||||
set_buffer_boundary(bh_map);
|
||||
if (iomap.flags & IOMAP_F_NEW)
|
||||
set_buffer_new(bh_map);
|
||||
|
@ -27,8 +27,7 @@ struct vm_fault;
|
||||
* written data and requires fdatasync to commit them to persistent storage.
|
||||
*/
|
||||
#define IOMAP_F_NEW 0x01 /* blocks have been newly allocated */
|
||||
#define IOMAP_F_BOUNDARY 0x02 /* mapping ends at metadata boundary */
|
||||
#define IOMAP_F_DIRTY 0x04 /* uncommitted metadata */
|
||||
#define IOMAP_F_DIRTY 0x02 /* uncommitted metadata */
|
||||
|
||||
/*
|
||||
* Flags that only need to be reported for IOMAP_REPORT requests:
|
||||
@ -36,6 +35,12 @@ struct vm_fault;
|
||||
#define IOMAP_F_MERGED 0x10 /* contains multiple blocks/extents */
|
||||
#define IOMAP_F_SHARED 0x20 /* block shared with another file */
|
||||
|
||||
/*
|
||||
* Flags from 0x1000 up are for file system specific usage:
|
||||
*/
|
||||
#define IOMAP_F_PRIVATE 0x1000
|
||||
|
||||
|
||||
/*
|
||||
* Magic value for addr:
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user