Currently, when using the DF class to determine the mount corresponding to a given directory, it will throw the generic exception "Expecting a line not the end of stream" if it can't determine the mount (for example if the directory doesn't exist).
This error message should be improved in several ways:
- If the dir to check doesn't exist, we can see that before even execing df, and throw a better exception (or behave better by chopping path components until it exists)
- Rather than parsing the lines out of df's stdout, collect the whole output, and then parse. So, if df returns a non-zero exit code, we can avoid trying to parse the empty result
- If there's a success exit code, and we still can't parse it (eg incompatible OS), we should include the unparseable line in the exception message.