Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 863192 Details for
Bug 1065051
A few races/bugs in the thinp code compromise the ability to successfully resize a full thin-pool
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
Patch 2
[PATCH] dm thin: handle running out of space in process_prepared_mapping.eml (text/plain), 1.60 KB, created by
Zdenek Kabelac
on 2014-02-14 10:13:41 UTC
(
hide
)
Description:
Patch 2
Filename:
MIME Type:
Creator:
Zdenek Kabelac
Created:
2014-02-14 10:13:41 UTC
Size:
1.60 KB
patch
obsolete
>Author: Mike Snitzer <snitzer@redhat.com> >Date: Mon Feb 10 14:28:30 2014 -0500 > > dm thin: handle running out of space in process_prepared_mapping > > FIXME: does this queue bios out of order? Likely need to a new > retry_prepared_mappings list... > >diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c >index edb7bc9..b7889aa 100644 >--- a/drivers/md/dm-thin.c >+++ b/drivers/md/dm-thin.c >@@ -612,15 +612,26 @@ static void cell_defer_no_holder(struct thin_c *tc, struct dm_bio_prison_cell *c > wake_worker(pool); > } > >+static void retry_bios_on_resume(struct pool *, struct dm_bio_prison_cell *); >+ > static void process_prepared_mapping_fail(struct dm_thin_new_mapping *m) > { >+ struct pool *pool = m->tc->pool; >+ bool out_of_space; >+ > if (m->bio) { > m->bio->bi_end_io = m->saved_bi_end_io; > atomic_inc(&m->bio->bi_remaining); > } >- cell_error(m->tc->pool, m->cell); >+ >+ if (!dm_pool_is_out_of_space(pool->pmd, &out_of_space) && out_of_space && >+ !pool->pf.error_if_no_space) >+ retry_bios_on_resume(pool, m->cell); >+ else >+ cell_error(pool, m->cell); >+ > list_del(&m->list); >- mempool_free(m, m->tc->pool->mapping_pool); >+ mempool_free(m, pool->mapping_pool); > } > > static void process_prepared_mapping(struct dm_thin_new_mapping *m) >@@ -649,7 +660,10 @@ static void process_prepared_mapping(struct dm_thin_new_mapping *m) > r = dm_thin_insert_block(tc->td, m->virt_block, m->data_block); > if (r) { > metadata_operation_failed(pool, "dm_thin_insert_block", r); >- cell_error(pool, m->cell); >+ if (r == -ENOSPC) >+ retry_bios_on_resume(pool, m->cell); >+ else >+ cell_error(pool, m->cell); > goto out; > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 1065051
:
863191
| 863192 |
863524