[PATCH v2] nvme: temporary fix for Apple controller reset
Stephan Günther
guenther at tum.de
Tue Dec 1 12:05:14 PST 2015
On 2015/December/01 12:56, Jens Axboe wrote:
> On 12/01/2015 12:46 PM, Stephan Günther wrote:
> >The patch below has been reviewed by Christoph and reported to work.
> >However, there is still no sign that it will be applied to linux-4.4.
> >
> >Please either undo commit c74dc7801d515d01847fd5cf2b472489fa5717b1,
> >which added the PCI ID of the Apple controller, or merge the patch below
> >asap.
> >
> >
> >Currently, the driver will make that controller destroy data!
>
> Honestly, I'd rather revert the pci id addition, unless there's conclusive
> evidence that limiting the (per queue) depth to 2 really does fix the issue.
Wes Cilldhaire tested the patch (his answer is in that thread) - as I
did the past 3 weeks ago as I'm running solely Linux on that broken
MacBook.
> Is this what the OSX driver does? What testing was done to ascertain that 2
> is the magic number? Does it just make it harder to hit, or does it really
> fix it?
I do not know what the OSX driver does. Apple is of absolutely no help
whatsoever.
But without that patch `mkfs btrfs` immediately fails. Even `partprobe
/dev/nvme0n1` will reset the controller (the latter one without data
loss).
As I am running a btrfs on a luks container for 3 weeks with that patch,
it *does* work. Performance is, obviously, not the best one I have seen.
But given the circumstances I cannot complain at all.
So again: please either revert the previous patch and leave it to the
more interested individuals to try it (probably slowing down Linux
support for that MacBook as not detecting the hard-soldered disk is
quite a blocker), or merge that hotfix until we find a better solution.
With 4.5 that may even become a quirk.
Best,
Stephan
More information about the Linux-nvme
mailing list