| .. | .. |
|---|
| 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 | |
|---|