diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-02-22 21:05:23 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-02-22 21:05:23 -0500 |
commit | a27fcb0cd1bcc812017192bdde41cc456dcd6afe (patch) | |
tree | 95f3ac980e2a50d9132074fd07c0cd684bbbf124 /fs/xfs/libxfs/xfs_btree.h | |
parent | 7d91de74436a69c2b78a7a72f1e7f97f8b4396fa (diff) | |
parent | 8d242e932fb7660c24b3a534197e69c241067e0d (diff) |
Merge tag 'xfs-4.11-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
Pull xfs updates from Darrick Wong:
"Here are the XFS changes for 4.11. We aren't introducing any major
features in this release cycle except for this being the first merge
window I've managed on my own. :)
Changes since last update:
- Various cleanups
- Livelock fixes for eofblocks scanning
- Improved input verification for on-disk metadata
- Fix races in the copy on write remap mechanism
- Fix buffer io error timeout controls
- Streamlining of directio copy on write
- Asynchronous discard support
- Fix asserts when splitting delalloc reservations
- Don't bloat bmbt when right shifting extents
- Inode alignment fixes for 32k block sizes"
* tag 'xfs-4.11-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (39 commits)
xfs: remove XFS_ALLOCTYPE_ANY_AG and XFS_ALLOCTYPE_START_AG
xfs: simplify xfs_rtallocate_extent
xfs: tune down agno asserts in the bmap code
xfs: Use xfs_icluster_size_fsb() to calculate inode chunk alignment
xfs: don't reserve blocks for right shift transactions
xfs: fix len comparison in xfs_extent_busy_trim
xfs: fix uninitialized variable in _reflink_convert_cow
xfs: split indlen reservations fairly when under reserved
xfs: handle indlen shortage on delalloc extent merge
xfs: resurrect debug mode drop buffered writes mechanism
xfs: clear delalloc and cache on buffered write failure
xfs: don't block the log commit handler for discards
xfs: improve busy extent sorting
xfs: improve handling of busy extents in the low-level allocator
xfs: don't fail xfs_extent_busy allocation
xfs: correct null checks and error processing in xfs_initialize_perag
xfs: update ctime and mtime on clone destinatation inodes
xfs: allocate direct I/O COW blocks in iomap_begin
xfs: go straight to real allocations for direct I/O COW writes
xfs: return the converted extent in __xfs_reflink_convert_cow
...
Diffstat (limited to 'fs/xfs/libxfs/xfs_btree.h')
-rw-r--r-- | fs/xfs/libxfs/xfs_btree.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/xfs/libxfs/xfs_btree.h b/fs/xfs/libxfs/xfs_btree.h index b69b947c4c1b..4bb62580a7fd 100644 --- a/fs/xfs/libxfs/xfs_btree.h +++ b/fs/xfs/libxfs/xfs_btree.h | |||
@@ -76,6 +76,8 @@ union xfs_btree_rec { | |||
76 | #define XFS_BTNUM_RMAP ((xfs_btnum_t)XFS_BTNUM_RMAPi) | 76 | #define XFS_BTNUM_RMAP ((xfs_btnum_t)XFS_BTNUM_RMAPi) |
77 | #define XFS_BTNUM_REFC ((xfs_btnum_t)XFS_BTNUM_REFCi) | 77 | #define XFS_BTNUM_REFC ((xfs_btnum_t)XFS_BTNUM_REFCi) |
78 | 78 | ||
79 | __uint32_t xfs_btree_magic(int crc, xfs_btnum_t btnum); | ||
80 | |||
79 | /* | 81 | /* |
80 | * For logging record fields. | 82 | * For logging record fields. |
81 | */ | 83 | */ |
@@ -378,7 +380,7 @@ void | |||
378 | xfs_btree_init_block( | 380 | xfs_btree_init_block( |
379 | struct xfs_mount *mp, | 381 | struct xfs_mount *mp, |
380 | struct xfs_buf *bp, | 382 | struct xfs_buf *bp, |
381 | __u32 magic, | 383 | xfs_btnum_t btnum, |
382 | __u16 level, | 384 | __u16 level, |
383 | __u16 numrecs, | 385 | __u16 numrecs, |
384 | __u64 owner, | 386 | __u64 owner, |
@@ -389,7 +391,7 @@ xfs_btree_init_block_int( | |||
389 | struct xfs_mount *mp, | 391 | struct xfs_mount *mp, |
390 | struct xfs_btree_block *buf, | 392 | struct xfs_btree_block *buf, |
391 | xfs_daddr_t blkno, | 393 | xfs_daddr_t blkno, |
392 | __u32 magic, | 394 | xfs_btnum_t btnum, |
393 | __u16 level, | 395 | __u16 level, |
394 | __u16 numrecs, | 396 | __u16 numrecs, |
395 | __u64 owner, | 397 | __u64 owner, |
@@ -456,7 +458,7 @@ static inline int xfs_btree_get_level(struct xfs_btree_block *block) | |||
456 | #define XFS_FILBLKS_MAX(a,b) max_t(xfs_filblks_t, (a), (b)) | 458 | #define XFS_FILBLKS_MAX(a,b) max_t(xfs_filblks_t, (a), (b)) |
457 | 459 | ||
458 | #define XFS_FSB_SANITY_CHECK(mp,fsb) \ | 460 | #define XFS_FSB_SANITY_CHECK(mp,fsb) \ |
459 | (XFS_FSB_TO_AGNO(mp, fsb) < mp->m_sb.sb_agcount && \ | 461 | (fsb && XFS_FSB_TO_AGNO(mp, fsb) < mp->m_sb.sb_agcount && \ |
460 | XFS_FSB_TO_AGBNO(mp, fsb) < mp->m_sb.sb_agblocks) | 462 | XFS_FSB_TO_AGBNO(mp, fsb) < mp->m_sb.sb_agblocks) |
461 | 463 | ||
462 | /* | 464 | /* |