summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorArne Jansen <sensille@gmx.net>2011-05-30 10:36:16 +0200
committerChris Mason <chris.mason@oracle.com>2011-06-04 14:03:44 +0200
commit5f3f302a6f4cb74906c05fad1d03fc5e95c7e5af (patch)
tree224a59dcd31fbbe2b23ac85d3d4906bbf7327b78 /fs
parentBtrfs: don't save the inode cache in non-FS roots (diff)
downloadlinux-5f3f302a6f4cb74906c05fad1d03fc5e95c7e5af.tar.xz
linux-5f3f302a6f4cb74906c05fad1d03fc5e95c7e5af.zip
btrfs: false BUG_ON when degraded
In degraded mode the struct btrfs_device of missing devs don't have device->name set. A kstrdup of NULL correctly returns NULL. Don't BUG in this case. Signed-off-by: Arne Jansen <sensille@gmx.net> Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/volumes.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index c48214ef5c09..da541dfca2e3 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -504,7 +504,7 @@ static int __btrfs_close_devices(struct btrfs_fs_devices *fs_devices)
BUG_ON(!new_device);
memcpy(new_device, device, sizeof(*new_device));
new_device->name = kstrdup(device->name, GFP_NOFS);
- BUG_ON(!new_device->name);
+ BUG_ON(device->name && !new_device->name);
new_device->bdev = NULL;
new_device->writeable = 0;
new_device->in_fs_metadata = 0;