OSDN Git Service

iomap: move IOMAP_F_BOUNDARY to gfs2
authorChristoph Hellwig <hch@lst.de>
Fri, 1 Jun 2018 16:03:07 +0000 (09:03 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Sat, 2 Jun 2018 01:37:32 +0000 (18:37 -0700)
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>
fs/gfs2/bmap.c
include/linux/iomap.h

index cbeedd3..8efa629 100644 (file)
@@ -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);
index 13d19b4..819e0cd 100644 (file)
@@ -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:
@@ -37,6 +36,12 @@ struct vm_fault;
 #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:
  */
 #define IOMAP_NULL_ADDR -1ULL  /* addr is not valid */