Merge branch 'xfs-misc-fixes-for-4.1-2' into for-next

Conflicts:
	fs/xfs/libxfs/xfs_bmap.c
	fs/xfs/xfs_inode.c
This commit is contained in:
Dave Chinner 2015-03-25 15:12:30 +11:00
commit 2b93681f59
8 changed files with 20 additions and 52 deletions

View File

@ -244,30 +244,6 @@ xfs_bmap_forkoff_reset(
} }
} }
/*
* Debug/sanity checking code
*/
STATIC int
xfs_bmap_sanity_check(
struct xfs_mount *mp,
struct xfs_buf *bp,
int level)
{
struct xfs_btree_block *block = XFS_BUF_TO_BLOCK(bp);
if (block->bb_magic != cpu_to_be32(XFS_BMAP_CRC_MAGIC) &&
block->bb_magic != cpu_to_be32(XFS_BMAP_MAGIC))
return 0;
if (be16_to_cpu(block->bb_level) != level ||
be16_to_cpu(block->bb_numrecs) == 0 ||
be16_to_cpu(block->bb_numrecs) > mp->m_bmap_dmxr[level != 0])
return 0;
return 1;
}
#ifdef DEBUG #ifdef DEBUG
STATIC struct xfs_buf * STATIC struct xfs_buf *
xfs_bmap_get_bp( xfs_bmap_get_bp(
@ -410,9 +386,6 @@ xfs_bmap_check_leaf_extents(
goto error_norelse; goto error_norelse;
} }
block = XFS_BUF_TO_BLOCK(bp); block = XFS_BUF_TO_BLOCK(bp);
XFS_WANT_CORRUPTED_GOTO(mp,
xfs_bmap_sanity_check(mp, bp, level),
error0);
if (level == 0) if (level == 0)
break; break;
@ -1312,8 +1285,6 @@ xfs_bmap_read_extents(
if (error) if (error)
return error; return error;
block = XFS_BUF_TO_BLOCK(bp); block = XFS_BUF_TO_BLOCK(bp);
XFS_WANT_CORRUPTED_GOTO(mp,
xfs_bmap_sanity_check(mp, bp, level), error0);
if (level == 0) if (level == 0)
break; break;
pp = XFS_BMBT_PTR_ADDR(mp, block, 1, mp->m_bmap_dmxr[1]); pp = XFS_BMBT_PTR_ADDR(mp, block, 1, mp->m_bmap_dmxr[1]);
@ -1346,9 +1317,6 @@ xfs_bmap_read_extents(
XFS_ERRLEVEL_LOW, ip->i_mount, block); XFS_ERRLEVEL_LOW, ip->i_mount, block);
goto error0; goto error0;
} }
XFS_WANT_CORRUPTED_GOTO(mp,
xfs_bmap_sanity_check(mp, bp, 0),
error0);
/* /*
* Read-ahead the next leaf block, if any. * Read-ahead the next leaf block, if any.
*/ */

View File

@ -538,12 +538,12 @@ xfs_da3_root_split(
oldroot = blk1->bp->b_addr; oldroot = blk1->bp->b_addr;
if (oldroot->hdr.info.magic == cpu_to_be16(XFS_DA_NODE_MAGIC) || if (oldroot->hdr.info.magic == cpu_to_be16(XFS_DA_NODE_MAGIC) ||
oldroot->hdr.info.magic == cpu_to_be16(XFS_DA3_NODE_MAGIC)) { oldroot->hdr.info.magic == cpu_to_be16(XFS_DA3_NODE_MAGIC)) {
struct xfs_da3_icnode_hdr nodehdr; struct xfs_da3_icnode_hdr icnodehdr;
dp->d_ops->node_hdr_from_disk(&nodehdr, oldroot); dp->d_ops->node_hdr_from_disk(&icnodehdr, oldroot);
btree = dp->d_ops->node_tree_p(oldroot); btree = dp->d_ops->node_tree_p(oldroot);
size = (int)((char *)&btree[nodehdr.count] - (char *)oldroot); size = (int)((char *)&btree[icnodehdr.count] - (char *)oldroot);
level = nodehdr.level; level = icnodehdr.level;
/* /*
* we are about to copy oldroot to bp, so set up the type * we are about to copy oldroot to bp, so set up the type

View File

@ -131,7 +131,7 @@ xfs_error_report(
{ {
if (level <= xfs_error_level) { if (level <= xfs_error_level) {
xfs_alert_tag(mp, XFS_PTAG_ERROR_REPORT, xfs_alert_tag(mp, XFS_PTAG_ERROR_REPORT,
"Internal error %s at line %d of file %s. Caller %pF", "Internal error %s at line %d of file %s. Caller %pS",
tag, linenum, filename, ra); tag, linenum, filename, ra);
xfs_stack_trace(); xfs_stack_trace();

View File

@ -322,7 +322,7 @@ xfs_filestream_lookup_ag(
pip = xfs_filestream_get_parent(ip); pip = xfs_filestream_get_parent(ip);
if (!pip) if (!pip)
goto out; return NULLAGNUMBER;
mru = xfs_mru_cache_lookup(mp->m_filestream, pip->i_ino); mru = xfs_mru_cache_lookup(mp->m_filestream, pip->i_ino);
if (mru) { if (mru) {

View File

@ -2911,8 +2911,8 @@ xfs_rename(
struct xfs_inode *wip = NULL; /* whiteout inode */ struct xfs_inode *wip = NULL; /* whiteout inode */
struct xfs_inode *inodes[__XFS_SORT_INODES]; struct xfs_inode *inodes[__XFS_SORT_INODES];
int num_inodes = __XFS_SORT_INODES; int num_inodes = __XFS_SORT_INODES;
int new_parent = (src_dp != target_dp); bool new_parent = (src_dp != target_dp);
int src_is_directory = S_ISDIR(src_ip->i_d.di_mode); bool src_is_directory = S_ISDIR(src_ip->i_d.di_mode);
int cancel_flags = 0; int cancel_flags = 0;
int spaceres; int spaceres;
int error; int error;

View File

@ -437,7 +437,7 @@ xfs_mru_cache_insert(
if (!mru || !mru->lists) if (!mru || !mru->lists)
return -EINVAL; return -EINVAL;
if (radix_tree_preload(GFP_KERNEL)) if (radix_tree_preload(GFP_NOFS))
return -ENOMEM; return -ENOMEM;
INIT_LIST_HEAD(&elem->list_node); INIT_LIST_HEAD(&elem->list_node);

View File

@ -1380,7 +1380,7 @@ xfs_init_percpu_counters(
error = percpu_counter_init(&mp->m_icount, 0, GFP_KERNEL); error = percpu_counter_init(&mp->m_icount, 0, GFP_KERNEL);
if (error) if (error)
return ENOMEM; return -ENOMEM;
error = percpu_counter_init(&mp->m_ifree, 0, GFP_KERNEL); error = percpu_counter_init(&mp->m_ifree, 0, GFP_KERNEL);
if (error) if (error)

View File

@ -115,7 +115,7 @@ DECLARE_EVENT_CLASS(xfs_perag_class,
__entry->refcount = refcount; __entry->refcount = refcount;
__entry->caller_ip = caller_ip; __entry->caller_ip = caller_ip;
), ),
TP_printk("dev %d:%d agno %u refcount %d caller %pf", TP_printk("dev %d:%d agno %u refcount %d caller %ps",
MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->agno, __entry->agno,
__entry->refcount, __entry->refcount,
@ -239,7 +239,7 @@ TRACE_EVENT(xfs_iext_insert,
__entry->caller_ip = caller_ip; __entry->caller_ip = caller_ip;
), ),
TP_printk("dev %d:%d ino 0x%llx state %s idx %ld " TP_printk("dev %d:%d ino 0x%llx state %s idx %ld "
"offset %lld block %lld count %lld flag %d caller %pf", "offset %lld block %lld count %lld flag %d caller %ps",
MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->ino, __entry->ino,
__print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS), __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS),
@ -283,7 +283,7 @@ DECLARE_EVENT_CLASS(xfs_bmap_class,
__entry->caller_ip = caller_ip; __entry->caller_ip = caller_ip;
), ),
TP_printk("dev %d:%d ino 0x%llx state %s idx %ld " TP_printk("dev %d:%d ino 0x%llx state %s idx %ld "
"offset %lld block %lld count %lld flag %d caller %pf", "offset %lld block %lld count %lld flag %d caller %ps",
MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->ino, __entry->ino,
__print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS), __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS),
@ -329,7 +329,7 @@ DECLARE_EVENT_CLASS(xfs_buf_class,
__entry->caller_ip = caller_ip; __entry->caller_ip = caller_ip;
), ),
TP_printk("dev %d:%d bno 0x%llx nblks 0x%x hold %d pincount %d " TP_printk("dev %d:%d bno 0x%llx nblks 0x%x hold %d pincount %d "
"lock %d flags %s caller %pf", "lock %d flags %s caller %ps",
MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->dev), MINOR(__entry->dev),
(unsigned long long)__entry->bno, (unsigned long long)__entry->bno,
__entry->nblks, __entry->nblks,
@ -402,7 +402,7 @@ DECLARE_EVENT_CLASS(xfs_buf_flags_class,
__entry->caller_ip = caller_ip; __entry->caller_ip = caller_ip;
), ),
TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d " TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d "
"lock %d flags %s caller %pf", "lock %d flags %s caller %ps",
MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->dev), MINOR(__entry->dev),
(unsigned long long)__entry->bno, (unsigned long long)__entry->bno,
__entry->buffer_length, __entry->buffer_length,
@ -447,7 +447,7 @@ TRACE_EVENT(xfs_buf_ioerror,
__entry->caller_ip = caller_ip; __entry->caller_ip = caller_ip;
), ),
TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d " TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d "
"lock %d error %d flags %s caller %pf", "lock %d error %d flags %s caller %ps",
MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->dev), MINOR(__entry->dev),
(unsigned long long)__entry->bno, (unsigned long long)__entry->bno,
__entry->buffer_length, __entry->buffer_length,
@ -613,7 +613,7 @@ DECLARE_EVENT_CLASS(xfs_lock_class,
__entry->lock_flags = lock_flags; __entry->lock_flags = lock_flags;
__entry->caller_ip = caller_ip; __entry->caller_ip = caller_ip;
), ),
TP_printk("dev %d:%d ino 0x%llx flags %s caller %pf", TP_printk("dev %d:%d ino 0x%llx flags %s caller %ps",
MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->ino, __entry->ino,
__print_flags(__entry->lock_flags, "|", XFS_LOCK_FLAGS), __print_flags(__entry->lock_flags, "|", XFS_LOCK_FLAGS),
@ -705,7 +705,7 @@ DECLARE_EVENT_CLASS(xfs_iref_class,
__entry->pincount = atomic_read(&ip->i_pincount); __entry->pincount = atomic_read(&ip->i_pincount);
__entry->caller_ip = caller_ip; __entry->caller_ip = caller_ip;
), ),
TP_printk("dev %d:%d ino 0x%llx count %d pincount %d caller %pf", TP_printk("dev %d:%d ino 0x%llx count %d pincount %d caller %ps",
MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->ino, __entry->ino,
__entry->count, __entry->count,
@ -1336,7 +1336,7 @@ TRACE_EVENT(xfs_bunmap,
__entry->flags = flags; __entry->flags = flags;
), ),
TP_printk("dev %d:%d ino 0x%llx size 0x%llx bno 0x%llx len 0x%llx" TP_printk("dev %d:%d ino 0x%llx size 0x%llx bno 0x%llx len 0x%llx"
"flags %s caller %pf", "flags %s caller %ps",
MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->ino, __entry->ino,
__entry->size, __entry->size,
@ -1469,7 +1469,7 @@ TRACE_EVENT(xfs_agf,
), ),
TP_printk("dev %d:%d agno %u flags %s length %u roots b %u c %u " TP_printk("dev %d:%d agno %u flags %s length %u roots b %u c %u "
"levels b %u c %u flfirst %u fllast %u flcount %u " "levels b %u c %u flfirst %u fllast %u flcount %u "
"freeblks %u longest %u caller %pf", "freeblks %u longest %u caller %ps",
MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->agno, __entry->agno,
__print_flags(__entry->flags, "|", XFS_AGF_FLAGS), __print_flags(__entry->flags, "|", XFS_AGF_FLAGS),