Error reporting
From Linux NFS
(Difference between revisions)
Line 1: | Line 1: | ||
Note all the places where something could go wrong (due to user error, or whatever) while setting up an NFSv4 client or server, try it, and see if what happens points you towards the solution. | Note all the places where something could go wrong (due to user error, or whatever) while setting up an NFSv4 client or server, try it, and see if what happens points you towards the solution. | ||
- | Example: svcgssd | + | Example: svcgssd isn't always able to give helpful errors on context creation failures, due in part to two problems: |
# Our kernel gss code is returning -EINVAL on most errors. | # Our kernel gss code is returning -EINVAL on most errors. | ||
# svcgssd is using nfs-utils qword_* functions, wihch don't return errors. | # svcgssd is using nfs-utils qword_* functions, wihch don't return errors. | ||
Fixing #1 is just a matter of choosing appropriate error codes--just find existing errno's which aren't otherwise used and have some vague relationship to the problem. For number 2, we should just make the relevant functions return int instead of void. | Fixing #1 is just a matter of choosing appropriate error codes--just find existing errno's which aren't otherwise used and have some vague relationship to the problem. For number 2, we should just make the relevant functions return int instead of void. |
Latest revision as of 21:40, 28 May 2007
Note all the places where something could go wrong (due to user error, or whatever) while setting up an NFSv4 client or server, try it, and see if what happens points you towards the solution.
Example: svcgssd isn't always able to give helpful errors on context creation failures, due in part to two problems:
- Our kernel gss code is returning -EINVAL on most errors.
- svcgssd is using nfs-utils qword_* functions, wihch don't return errors.
Fixing #1 is just a matter of choosing appropriate error codes--just find existing errno's which aren't otherwise used and have some vague relationship to the problem. For number 2, we should just make the relevant functions return int instead of void.