daemon: fstrim: Turn "discard operation is not supported" into ENOTSUP.

Because we run the external fstrim command we don't have access to the
kernel errno when it fails.  However in the case where it prints this
specific error message, turn that into errno ENOTSUP.
This commit is contained in:
Richard W.M. Jones
2016-08-05 12:18:53 +01:00
parent 97b6b4a4eb
commit 116a41d048
2 changed files with 11 additions and 1 deletions

View File

@@ -105,7 +105,13 @@ do_fstrim (const char *path,
r = commandv (&out, &err, argv);
if (r == -1) {
reply_with_error ("%s", err);
/* If the error is about the kernel operation not being supported
* for this filesystem type, then return errno ENOTSUP here.
*/
if (strstr (err, "discard operation is not supported"))
reply_with_error_errno (ENOTSUP, "%s", err);
else
reply_with_error ("%s", err);
return -1;
}