Joe Jin schrieb:
From the information, I think it caused by (args.agbp == NULL).
get rid of, we'll find the call trace should panic:
xfs_free_extent
|_ xfs_free_ag_extent => here args.agbp= NULL;
|_ xfs_btree_init_cursor()
|_ agf = XFS_BUF_TO_AGF(agbp); => (xfs_agf_t
*)XFS_BUF_PTR(arbp)
|_ (xfs_caddr_t)((agbp)->b_addr) : but
here, agbp is NULL
so it caused the oops.
Non debug option, and the oops occured at xfs_btree_init_cursor().
Probably caused by this part of the diff from Nathan's earlier mail:
--- 8558226281c45a61d7a0bc056505246e705a372b
+++ 22af489d3f346c7bb4488cdcf1ee91e59e48ddf3
--- fs/xfs/xfs_alloc.c
+++ fs/xfs/xfs_alloc.c
@@ -1951,8 +1951,14 @@ xfs_alloc_fix_freelist(
* the restrictions correctly. Can happen for free calls
* on a completely full ag.
*/
- if (targs.agbno == NULLAGBLOCK)
+ if (targs.agbno == NULLAGBLOCK) {
+ if (!(flags & XFS_ALLOC_FLAG_FREEING)) {
+ xfs_trans_brelse(tp, agflbp);
+ args->agbp = NULL;
+ return 0;
+ }
break;
+ }
/*
* Put each allocated block on the list.
*/
Jan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]