diff options
| author | Dave Chinner <david@fromorbit.com> | 2014-08-03 23:54:14 -0400 |
|---|---|---|
| committer | Dave Chinner <david@fromorbit.com> | 2014-08-03 23:54:14 -0400 |
| commit | 4d7eece2c0dad832c5f224629eba3cced3f2d6cd (patch) | |
| tree | cddf541ea3c2860aaea0fed1f57871d310c3c14e | |
| parent | e0ac6d45bc52065d388b5aa153b58233af25a429 (diff) | |
| parent | d5cf09baced0ef3d2cc118865079f8b129e98e2f (diff) | |
Merge branch 'xfs-misc-fixes-3.17-1' into for-next
| -rw-r--r-- | fs/xfs/Kconfig | 1 | ||||
| -rw-r--r-- | fs/xfs/libxfs/xfs_bmap.c | 8 | ||||
| -rw-r--r-- | fs/xfs/libxfs/xfs_bmap_btree.c | 89 | ||||
| -rw-r--r-- | fs/xfs/libxfs/xfs_btree.c | 32 | ||||
| -rw-r--r-- | fs/xfs/libxfs/xfs_btree.h | 2 | ||||
| -rw-r--r-- | fs/xfs/libxfs/xfs_da_btree.c | 2 | ||||
| -rw-r--r-- | fs/xfs/libxfs/xfs_dir2_sf.c | 45 | ||||
| -rw-r--r-- | fs/xfs/libxfs/xfs_format.h | 14 | ||||
| -rw-r--r-- | fs/xfs/libxfs/xfs_inode_fork.c | 4 | ||||
| -rw-r--r-- | fs/xfs/libxfs/xfs_inum.h | 4 | ||||
| -rw-r--r-- | fs/xfs/libxfs/xfs_log_format.h | 4 | ||||
| -rw-r--r-- | fs/xfs/libxfs/xfs_quota_defs.h | 2 | ||||
| -rw-r--r-- | fs/xfs/libxfs/xfs_sb.h | 8 | ||||
| -rw-r--r-- | fs/xfs/xfs_bmap_util.c | 2 | ||||
| -rw-r--r-- | fs/xfs/xfs_fs.h | 4 | ||||
| -rw-r--r-- | fs/xfs/xfs_linux.h | 12 | ||||
| -rw-r--r-- | fs/xfs/xfs_log_cil.c | 2 | ||||
| -rw-r--r-- | fs/xfs/xfs_mount.c | 10 | ||||
| -rw-r--r-- | fs/xfs/xfs_qm.c | 189 | ||||
| -rw-r--r-- | fs/xfs/xfs_qm.h | 1 | ||||
| -rw-r--r-- | fs/xfs/xfs_quotaops.c | 2 | ||||
| -rw-r--r-- | fs/xfs/xfs_rtalloc.c | 4 | ||||
| -rw-r--r-- | fs/xfs/xfs_super.c | 34 | ||||
| -rw-r--r-- | fs/xfs/xfs_super.h | 15 | ||||
| -rw-r--r-- | fs/xfs/xfs_types.h | 29 |
25 files changed, 166 insertions, 353 deletions
diff --git a/fs/xfs/Kconfig b/fs/xfs/Kconfig index 399e8cec6e60..5d47b4df61ea 100644 --- a/fs/xfs/Kconfig +++ b/fs/xfs/Kconfig | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | config XFS_FS | 1 | config XFS_FS |
| 2 | tristate "XFS filesystem support" | 2 | tristate "XFS filesystem support" |
| 3 | depends on BLOCK | 3 | depends on BLOCK |
| 4 | depends on (64BIT || LBDAF) | ||
| 4 | select EXPORTFS | 5 | select EXPORTFS |
| 5 | select LIBCRC32C | 6 | select LIBCRC32C |
| 6 | help | 7 | help |
diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c index 94ac88306fa6..de2d26d32844 100644 --- a/fs/xfs/libxfs/xfs_bmap.c +++ b/fs/xfs/libxfs/xfs_bmap.c | |||
| @@ -392,7 +392,7 @@ xfs_bmap_check_leaf_extents( | |||
| 392 | pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); | 392 | pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); |
| 393 | bno = be64_to_cpu(*pp); | 393 | bno = be64_to_cpu(*pp); |
| 394 | 394 | ||
| 395 | ASSERT(bno != NULLDFSBNO); | 395 | ASSERT(bno != NULLFSBLOCK); |
| 396 | ASSERT(XFS_FSB_TO_AGNO(mp, bno) < mp->m_sb.sb_agcount); | 396 | ASSERT(XFS_FSB_TO_AGNO(mp, bno) < mp->m_sb.sb_agcount); |
| 397 | ASSERT(XFS_FSB_TO_AGBNO(mp, bno) < mp->m_sb.sb_agblocks); | 397 | ASSERT(XFS_FSB_TO_AGBNO(mp, bno) < mp->m_sb.sb_agblocks); |
| 398 | 398 | ||
| @@ -1299,7 +1299,7 @@ xfs_bmap_read_extents( | |||
| 1299 | ASSERT(level > 0); | 1299 | ASSERT(level > 0); |
| 1300 | pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); | 1300 | pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); |
| 1301 | bno = be64_to_cpu(*pp); | 1301 | bno = be64_to_cpu(*pp); |
| 1302 | ASSERT(bno != NULLDFSBNO); | 1302 | ASSERT(bno != NULLFSBLOCK); |
| 1303 | ASSERT(XFS_FSB_TO_AGNO(mp, bno) < mp->m_sb.sb_agcount); | 1303 | ASSERT(XFS_FSB_TO_AGNO(mp, bno) < mp->m_sb.sb_agcount); |
| 1304 | ASSERT(XFS_FSB_TO_AGBNO(mp, bno) < mp->m_sb.sb_agblocks); | 1304 | ASSERT(XFS_FSB_TO_AGBNO(mp, bno) < mp->m_sb.sb_agblocks); |
| 1305 | /* | 1305 | /* |
| @@ -1429,11 +1429,7 @@ xfs_bmap_search_multi_extents( | |||
| 1429 | gotp->br_startoff = 0xffa5a5a5a5a5a5a5LL; | 1429 | gotp->br_startoff = 0xffa5a5a5a5a5a5a5LL; |
| 1430 | gotp->br_blockcount = 0xa55a5a5a5a5a5a5aLL; | 1430 | gotp->br_blockcount = 0xa55a5a5a5a5a5a5aLL; |
| 1431 | gotp->br_state = XFS_EXT_INVALID; | 1431 | gotp->br_state = XFS_EXT_INVALID; |
| 1432 | #if XFS_BIG_BLKNOS | ||
| 1433 | gotp->br_startblock = 0xffffa5a5a5a5a5a5LL; | 1432 | gotp->br_startblock = 0xffffa5a5a5a5a5a5LL; |
| 1434 | #else | ||
| 1435 | gotp->br_startblock = 0xffffa5a5; | ||
| 1436 | #endif | ||
| 1437 | prevp->br_startoff = NULLFILEOFF; | 1433 | prevp->br_startoff = NULLFILEOFF; |
| 1438 | 1434 | ||
| 1439 | ep = xfs_iext_bno_to_ext(ifp, bno, &lastx); | 1435 | ep = xfs_iext_bno_to_ext(ifp, bno, &lastx); |
diff --git a/fs/xfs/libxfs/xfs_bmap_btree.c b/fs/xfs/libxfs/xfs_bmap_btree.c index a388de4ceaa1..fba753308f31 100644 --- a/fs/xfs/libxfs/xfs_bmap_btree.c +++ b/fs/xfs/libxfs/xfs_bmap_btree.c | |||
| @@ -111,23 +111,8 @@ __xfs_bmbt_get_all( | |||
| 111 | ext_flag = (int)(l0 >> (64 - BMBT_EXNTFLAG_BITLEN)); | 111 | ext_flag = (int)(l0 >> (64 - BMBT_EXNTFLAG_BITLEN)); |
| 112 | s->br_startoff = ((xfs_fileoff_t)l0 & | 112 | s->br_startoff = ((xfs_fileoff_t)l0 & |
| 113 | xfs_mask64lo(64 - BMBT_EXNTFLAG_BITLEN)) >> 9; | 113 | xfs_mask64lo(64 - BMBT_EXNTFLAG_BITLEN)) >> 9; |
| 114 | #if XFS_BIG_BLKNOS | ||
| 115 | s->br_startblock = (((xfs_fsblock_t)l0 & xfs_mask64lo(9)) << 43) | | 114 | s->br_startblock = (((xfs_fsblock_t)l0 & xfs_mask64lo(9)) << 43) | |
| 116 | (((xfs_fsblock_t)l1) >> 21); | 115 | (((xfs_fsblock_t)l1) >> 21); |
| 117 | #else | ||
| 118 | #ifdef DEBUG | ||
| 119 | { | ||
| 120 | xfs_dfsbno_t b; | ||
| 121 | |||
| 122 | b = (((xfs_dfsbno_t)l0 & xfs_mask64lo(9)) << 43) | | ||
| 123 | (((xfs_dfsbno_t)l1) >> 21); | ||
| 124 | ASSERT((b >> 32) == 0 || isnulldstartblock(b)); | ||
| 125 | s->br_startblock = (xfs_fsblock_t)b; | ||
| 126 | } | ||
| 127 | #else /* !DEBUG */ | ||
| 128 | s->br_startblock = (xfs_fsblock_t)(((xfs_dfsbno_t)l1) >> 21); | ||
| 129 | #endif /* DEBUG */ | ||
| 130 | #endif /* XFS_BIG_BLKNOS */ | ||
| 131 | s->br_blockcount = (xfs_filblks_t)(l1 & xfs_mask64lo(21)); | 116 | s->br_blockcount = (xfs_filblks_t)(l1 & xfs_mask64lo(21)); |
| 132 | /* This is xfs_extent_state() in-line */ | 117 | /* This is xfs_extent_state() in-line */ |
| 133 | if (ext_flag) { | 118 | if (ext_flag) { |
| @@ -163,21 +148,8 @@ xfs_fsblock_t | |||
| 163 | xfs_bmbt_get_startblock( | 148 | xfs_bmbt_get_startblock( |
| 164 | xfs_bmbt_rec_host_t *r) | 149 | xfs_bmbt_rec_host_t *r) |
| 165 | { | 150 | { |
| 166 | #if XFS_BIG_BLKNOS | ||
| 167 | return (((xfs_fsblock_t)r->l0 & xfs_mask64lo(9)) << 43) | | 151 | return (((xfs_fsblock_t)r->l0 & xfs_mask64lo(9)) << 43) | |
| 168 | (((xfs_fsblock_t)r->l1) >> 21); | 152 | (((xfs_fsblock_t)r->l1) >> 21); |
| 169 | #else | ||
| 170 | #ifdef DEBUG | ||
| 171 | xfs_dfsbno_t b; | ||
| 172 | |||
| 173 | b = (((xfs_dfsbno_t)r->l0 & xfs_mask64lo(9)) << 43) | | ||
| 174 | (((xfs_dfsbno_t)r->l1) >> 21); | ||
| 175 | ASSERT((b >> 32) == 0 || isnulldstartblock(b)); | ||
| 176 | return (xfs_fsblock_t)b; | ||
| 177 | #else /* !DEBUG */ | ||
| 178 | return (xfs_fsblock_t)(((xfs_dfsbno_t)r->l1) >> 21); | ||
| 179 | #endif /* DEBUG */ | ||
| 180 | #endif /* XFS_BIG_BLKNOS */ | ||
| 181 | } | 153 | } |
| 182 | 154 | ||
| 183 | /* | 155 | /* |
| @@ -241,7 +213,6 @@ xfs_bmbt_set_allf( | |||
| 241 | ASSERT((startoff & xfs_mask64hi(64-BMBT_STARTOFF_BITLEN)) == 0); | 213 | ASSERT((startoff & xfs_mask64hi(64-BMBT_STARTOFF_BITLEN)) == 0); |
| 242 | ASSERT((blockcount & xfs_mask64hi(64-BMBT_BLOCKCOUNT_BITLEN)) == 0); | 214 | ASSERT((blockcount & xfs_mask64hi(64-BMBT_BLOCKCOUNT_BITLEN)) == 0); |
| 243 | 215 | ||
| 244 | #if XFS_BIG_BLKNOS | ||
| 245 | ASSERT((startblock & xfs_mask64hi(64-BMBT_STARTBLOCK_BITLEN)) == 0); | 216 | ASSERT((startblock & xfs_mask64hi(64-BMBT_STARTBLOCK_BITLEN)) == 0); |
| 246 | 217 | ||
| 247 | r->l0 = ((xfs_bmbt_rec_base_t)extent_flag << 63) | | 218 | r->l0 = ((xfs_bmbt_rec_base_t)extent_flag << 63) | |
| @@ -250,23 +221,6 @@ xfs_bmbt_set_allf( | |||
| 250 | r->l1 = ((xfs_bmbt_rec_base_t)startblock << 21) | | 221 | r->l1 = ((xfs_bmbt_rec_base_t)startblock << 21) | |
| 251 | ((xfs_bmbt_rec_base_t)blockcount & | 222 | ((xfs_bmbt_rec_base_t)blockcount & |
| 252 | (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); | 223 | (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); |
| 253 | #else /* !XFS_BIG_BLKNOS */ | ||
| 254 | if (isnullstartblock(startblock)) { | ||
| 255 | r->l0 = ((xfs_bmbt_rec_base_t)extent_flag << 63) | | ||
| 256 | ((xfs_bmbt_rec_base_t)startoff << 9) | | ||
| 257 | (xfs_bmbt_rec_base_t)xfs_mask64lo(9); | ||
| 258 | r->l1 = xfs_mask64hi(11) | | ||
| 259 | ((xfs_bmbt_rec_base_t)startblock << 21) | | ||
| 260 | ((xfs_bmbt_rec_base_t)blockcount & | ||
| 261 | (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); | ||
| 262 | } else { | ||
| 263 | r->l0 = ((xfs_bmbt_rec_base_t)extent_flag << 63) | | ||
| 264 | ((xfs_bmbt_rec_base_t)startoff << 9); | ||
| 265 | r->l1 = ((xfs_bmbt_rec_base_t)startblock << 21) | | ||
| 266 | ((xfs_bmbt_rec_base_t)blockcount & | ||
| 267 | (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); | ||
| 268 | } | ||
| 269 | #endif /* XFS_BIG_BLKNOS */ | ||
| 270 | } | 224 | } |
| 271 | 225 | ||
| 272 | /* | 226 | /* |
| @@ -298,8 +252,6 @@ xfs_bmbt_disk_set_allf( | |||
| 298 | ASSERT(state == XFS_EXT_NORM || state == XFS_EXT_UNWRITTEN); | 252 | ASSERT(state == XFS_EXT_NORM || state == XFS_EXT_UNWRITTEN); |
| 299 | ASSERT((startoff & xfs_mask64hi(64-BMBT_STARTOFF_BITLEN)) == 0); | 253 | ASSERT((startoff & xfs_mask64hi(64-BMBT_STARTOFF_BITLEN)) == 0); |
| 300 | ASSERT((blockcount & xfs_mask64hi(64-BMBT_BLOCKCOUNT_BITLEN)) == 0); | 254 | ASSERT((blockcount & xfs_mask64hi(64-BMBT_BLOCKCOUNT_BITLEN)) == 0); |
| 301 | |||
| 302 | #if XFS_BIG_BLKNOS | ||
| 303 | ASSERT((startblock & xfs_mask64hi(64-BMBT_STAR | ||
