Kyle Manna posted on Tue, 20 Oct 2015 10:24:48 -0700 as excerpted:
> Hi all,
>
> I have a collection of three (was 4) 1-2TB devices with data and
> metadata in a RAID1 mirror. Last night I was struck by the Click of
> Death on an old Samsung drive.
>
> I removed the device from the system, rebooted and mounted the volume
> with `-o degraded` and the file system seems fine and usable. I'm
> waiting on a replacement, drive but want to remove the old drive and
> re-balance in the meantime.
>
> How do I remove the missing device? I tried the `btrfs device delete
> missing /mnt` but was greeted with "ERROR: missing is not a block
> device". A quick look at that btrfs-progs git repo shows that
> `stat("missing")` is called, which of course fails since missing isn't a
> block device. Nothing other then `btrfs replace` seemed intuitive and
> all the docs mention the older command. What's the move?
>
> Thanks!
> - Kyle
>
> Versions:
> Kernel: 4.2.3-1-ARCH
> btrfs-progs: 4.2.2-1 ᐧ
I believe the current advice given here (that you were likely trying to
follow, wrapped link)...
https://btrfs.wiki.kernel.org/index.php/
Using_Btrfs_with_Multiple_Devices#Replacing_failed_devices
... is dated and no longer works due to code change some time in the past.
There's a set of (very) recent patches, to the kernel and userspace both
(I just updated userspace and it's in the git devel-branch v4.2.3-49-
g4db87a1 I just built, kernelspace, I don't see it in linus-mainline yet,
so I'd guess it's in the btrfs-integration patches, to land in the v4.4
commit window if not in 4.3 as it's getting late in the cycle for that.
btrfs fi show <path>
That will list the btrfs component devices together with their devids.
Then use the appropriate devid like so:
btrfs dev del <devid> <path>
The -progs commit is d462081f, by Anand Jain, titled:
btrfs-progs: Introduce device delete by devid
According to it, the required kernel commit (title only listed) is
similar:
Btrfs: Introduce device delete by devid
You can probably find them on-list if you wish to cherry-pick them into a
current version.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html