.. | .. |
---|
33 | 33 | struct rb_node **rbp; |
---|
34 | 34 | struct rb_node *parent = NULL; |
---|
35 | 35 | |
---|
36 | | - new = kmem_zalloc(sizeof(struct xfs_extent_busy), KM_SLEEP); |
---|
| 36 | + new = kmem_zalloc(sizeof(struct xfs_extent_busy), 0); |
---|
37 | 37 | new->agno = agno; |
---|
38 | 38 | new->bno = bno; |
---|
39 | 39 | new->length = len; |
---|
.. | .. |
---|
344 | 344 | ASSERT(*len > 0); |
---|
345 | 345 | |
---|
346 | 346 | spin_lock(&args->pag->pagb_lock); |
---|
347 | | -restart: |
---|
348 | 347 | fbno = *bno; |
---|
349 | 348 | flen = *len; |
---|
350 | 349 | rbp = args->pag->pagb_tree.rb_node; |
---|
.. | .. |
---|
360 | 359 | continue; |
---|
361 | 360 | } else if (fbno >= bend) { |
---|
362 | 361 | rbp = rbp->rb_right; |
---|
363 | | - continue; |
---|
364 | | - } |
---|
365 | | - |
---|
366 | | - /* |
---|
367 | | - * If this is a metadata allocation, try to reuse the busy |
---|
368 | | - * extent instead of trimming the allocation. |
---|
369 | | - */ |
---|
370 | | - if (!xfs_alloc_is_userdata(args->datatype) && |
---|
371 | | - !(busyp->flags & XFS_EXTENT_BUSY_DISCARDED)) { |
---|
372 | | - if (!xfs_extent_busy_update_extent(args->mp, args->pag, |
---|
373 | | - busyp, fbno, flen, |
---|
374 | | - false)) |
---|
375 | | - goto restart; |
---|
376 | 362 | continue; |
---|
377 | 363 | } |
---|
378 | 364 | |
---|