46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
# File 'lib/nfs/handler.rb', line 46
def handle_errors
begin
yield
rescue Errno::EPERM
{ :_discriminant => :NFSERR_PERM }
rescue Errno::ENOENT
{ _discriminant: :NFSERR_NOENT }
rescue Errno::EIO
{ _discriminant: :NFSERR_IO }
rescue Errno::ENXIO
{ _discriminant: :NFSERR_NXIO }
rescue Errno::EACCES
{ _discriminant: :NFSERR_ACCES }
rescue Errno::EEXIST
{ _discriminant: :NFSERR_EXIST }
rescue Errno::ENODEV
{ _discriminant: :NFSERR_NODEV }
rescue Errno::ENOTDIR
{ _discriminant: :NFSERR_NOTDIR }
rescue Errno::EISDIR
{ _discriminant: :NFSERR_ISDIR }
rescue Errno::EINVAL
{ _discriminant: :NFSERR_INVAL }
rescue Errno::EFBIG
{ _discriminant: :NFSERR_FBIG }
rescue Errno::ENOSPC
{ _discriminant: :NFSERR_NOSPC }
rescue Errno::EROFS
{ _discriminant: :NFSERR_ROFS }
rescue Errno::ENAMETOOLONG
{ _discriminant: :NFSERR_NAMETOOLONG }
rescue Errno::ENOTEMPTY
{ _discriminant: :NFSERR_NOTEMPTY }
rescue Errno::EDQUOT
{ _discriminant: :NFSERR_DQUOT }
rescue Errno::ESTALE
{ _discriminant: :NFSERR_STALE }
rescue => e
::NFS.logger.error(e.message)
::NFS.logger.error(e.backtrace.join("\n"))
{ _discriminant: :NFSERR_IO }
end
end
|