mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 13:44:15 +08:00
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:
commit
2b93681f59
@ -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.
|
||||||
*/
|
*/
|
||||||
|
@ -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
|
||||||
|
@ -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();
|
||||||
|
@ -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) {
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
@ -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)
|
||||||
|
@ -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),
|
||||||
|
Loading…
Reference in New Issue
Block a user