Hi, I have experienced a very reproducible Oops within the btrfs driver. On a linux 3.5.4, if I mount a volume with the option "degraded" because one of the device is missing, I would get an Oops when I unmount it (or even before). You can see attached the kernel log. Here is how I create my btrfs volume: # mkfs.btrfs /dev/vdb /dev/vdc # mount /dev/vdb /mnt # dd if=/dev/zero of=/mnt/zeros count=1M # umount /mnt # shutdown -h now I am then wiping one volume (/dev/vdc) and restarting the system. To get a crash, here is what I am doing: # mount -o degraded /dev/vdb /mnt # umount /mnt I recognise the volume is not usable after having erased one drive but I would expect no to crash the kernel in such circumstances. I am not an expert, I am just reporting a crash from an user point of view. Antoine
On 09/15/2012 10:17 PM, Antoine Sirinelli wrote:> Hi, > > I have experienced a very reproducible Oops within the btrfs driver. On > a linux 3.5.4, if I mount a volume with the option "degraded" because > one of the device is missing, I would get an Oops when I unmount it (or > even before). You can see attached the kernel log. >Thanks for the report. And this has been fixed by commit 99f5944b8477914406173b47b4f261356286730b Btrfs: do not strdup non existent strings You can find this commit in 3.6.0-rc5. :) thanks, liubo> Here is how I create my btrfs volume: > > # mkfs.btrfs /dev/vdb /dev/vdc > # mount /dev/vdb /mnt > # dd if=/dev/zero of=/mnt/zeros count=1M > # umount /mnt > # shutdown -h now > > I am then wiping one volume (/dev/vdc) and restarting the system. To > get a crash, here is what I am doing: > > # mount -o degraded /dev/vdb /mnt > # umount /mnt > > I recognise the volume is not usable after having erased one drive but I > would expect no to crash the kernel in such circumstances. I am not an > expert, I am just reporting a crash from an user point of view. > > Antoine >-- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Sep 17, 2012 at 02:46:00PM +0800, Liu Bo wrote:> On 09/15/2012 10:17 PM, Antoine Sirinelli wrote: > > I have experienced a very reproducible Oops within the btrfs driver. On > > a linux 3.5.4, if I mount a volume with the option "degraded" because > > one of the device is missing, I would get an Oops when I unmount it (or > > even before). You can see attached the kernel log. > > Thanks for the report. And this has been fixed by > > commit 99f5944b8477914406173b47b4f261356286730b > Btrfs: do not strdup non existent strings > > You can find this commit in 3.6.0-rc5. :)That''s right, I have done the same test with rc6 and it does not crash anymore. Many thanks, Antoine