Requirements for a drive to be detected in UnRAID


juchong

Recommended Posts

I'm trying to understand what UnRAID expects to read from a drive before it will be enumerated by the md driver. I modified the FusionIO driver to enumerate as /dev/hda temporarily and still couldn't get the driver to detect the card. I suspect that the md driver expects the drive to have a serial number (the FusionIO driver does not provide one by default), but I could be wrong. Does anyone have more insight into this?

Link to comment
23 minutes ago, jonathanm said:

Read this thread.

 

Thanks, but your reply was not helpful. I'm trying to add support for the driver and have been largely successful. The last piece in the puzzle is getting the md driver to detect the drive, hence my question.

Edited by juchong
Link to comment
49 minutes ago, juchong said:

I'm trying to understand what UnRAID expects to read from a drive before it will be enumerated by the md driver. I modified the FusionIO driver to enumerate as /dev/hda temporarily and still couldn't get the driver to detect the card. I suspect that the md driver expects the drive to have a serial number (the FusionIO driver does not provide one by default), but I could be wrong. Does anyone have more insight into this?

Since Unraid recognises drives by their serial number I would expect this to be a requirement.    However this is my guess based on how other types of drives are handled - I have not looked into the code of the md driver to confirm this.

Link to comment
Just now, itimpi said:

Since Unraid recognises drives by their serial number I would expect this to be a requirement.    However this is my guess based on how other types of drives are handled - I have not looked into the code of the md driver to confirm this.

Thanks. Would it be possible to point me to the md source code (if available publicly)? I've put together a reliable method of building the driver on 5.x kernels already.

Link to comment
3 minutes ago, itimpi said:

Have you tried looking under /usr/src on your Unraid server?

Hey now, no need to be passive-agressive. I'm trying to help the community. Both of my interactions with moderators in this thread have been met with unwarranted aggression thus far.

Reading through the forums, there seems to be a similar pattern in lots of threads where people are asking genuine questions.

Edited by juchong
Link to comment
4 minutes ago, juchong said:

Hey now, no need to be passive-agressive. I'm trying to help the community. Both of my interactions with moderators in this thread have been met with unwarranted aggression thus far.

Reading through the forums, there seems to be a similar pattern in lots of threads where people are asking genuine questions.

Not sure why you interpreted my reply that way?   I did not know if you had looked there and not found those source files of any use.

 

What is NOT publically available is the source to the emhttp daemon.   It is possible that is the part that handles recognising disks - I do not know.

 

 

Link to comment
1 minute ago, trurl said:

I didn't interpret any of these responses that way and don't know why anyone would.

This is disappointing.

 

Getting back to the thread topic, can anyone help me identify which section of the code performs the device enumeration? It would help speed up the process significantly.

Link to comment

I have never heard of anyone actually digging into the code under /usr/src.     I always assumed it was there primarily to satisfy GPL legal requirements rather than expecting anyone to spend time digging into it (although you are of course entitled to dig as much as you want).    Be interested to see if anyone can give you the pointer you want.

 

Link to comment
13 minutes ago, itimpi said:

I have never heard of anyone actually digging into the code under /usr/src.     I always assumed it was there primarily to satisfy GPL requirements rather than expecting anyone to spend time digging into it (although you are of course entitled to dig as much as you want).    Be interested to see if anyone can give you the pointer you want.

I can definitely understand your reaction if the norm on the forums is for folks to "demand the source" and then walk away from the discussion. In contrast, I'm actually serious about trying to understand how the driver enumerates devices. Here's my fork of the driver with modifications specifically intended to allow compilation using the Unraid Kernel Docker Container: https://github.com/juchong/iomemory-vsl4

 

Edit: Here's the build script for anyone that wants to try it out themselves: https://github.com/juchong/unraid-fusionio-build

Edited by juchong
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.