aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/libxfs/xfs_btree.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-02-22 21:05:23 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-02-22 21:05:23 -0500
commita27fcb0cd1bcc812017192bdde41cc456dcd6afe (patch)
tree95f3ac980e2a50d9132074fd07c0cd684bbbf124 /fs/xfs/libxfs/xfs_btree.h
parent7d91de74436a69c2b78a7a72f1e7f97f8b4396fa (diff)
parent8d242e932fb7660c24b3a534197e69c241067e0d (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.h8
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
378xfs_btree_init_block( 380xfs_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/*