[lkml]   [2010]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[071/111] Btrfs: do not mark the chunk as readonly if in degraded mode
    2.6.32-stable review patch.  If anyone has any objections, please let us know.


    From: Josef Bacik <>

    commit f48b90756bd834dda852ff514f2690d3175b1f44 upstream.

    If a RAID setup has chunks that span multiple disks, and one of those
    disks has failed, btrfs_chunk_readonly will return 1 since one of the
    disks in that chunk's stripes is dead and therefore not writeable. So
    instead if we are in degraded mode, return 0 so we can go ahead and
    allocate stuff. Without this patch all of the block groups in a RAID1
    setup will end up read-only, which will mean we can't add new disks to
    the array since we won't be able to make allocations.

    Signed-off-by: Josef Bacik <>
    Signed-off-by: Chris Mason <>
    Acked-by: Jeff Mahoney <>
    Signed-off-by: Greg Kroah-Hartman <>

    fs/btrfs/volumes.c | 5 +++++
    1 file changed, 5 insertions(+)

    --- a/fs/btrfs/volumes.c
    +++ b/fs/btrfs/volumes.c
    @@ -2538,6 +2538,11 @@ int btrfs_chunk_readonly(struct btrfs_ro
    if (!em)
    return 1;

    + if (btrfs_test_opt(root, DEGRADED)) {
    + free_extent_map(em);
    + return 0;
    + }
    map = (struct map_lookup *)em->bdev;
    for (i = 0; i < map->num_stripes; i++) {
    if (!map->stripes[i].dev->writeable) {

     \ /
      Last update: 2010-08-12 02:37    [W:0.018 / U:74.332 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site