* fhandler_nodevice.cc (fhandler_nodevice::open): Convert EROFS to
ENOENT if non-existent file got opened for reading only. Explain why. * path.cc (path_conv::check): Stick to ENOENT if file has been opened for informational purposes only. Add to comment.
This commit is contained in:
@@ -15,10 +15,14 @@ details. */
|
||||
#include "fhandler.h"
|
||||
|
||||
int
|
||||
fhandler_nodevice::open (int, mode_t)
|
||||
fhandler_nodevice::open (int flags, mode_t)
|
||||
{
|
||||
if (!pc.error)
|
||||
set_errno (ENXIO);
|
||||
/* Fixup EROFS error returned from path_conv if /dev is not backed by real
|
||||
directory on disk and the file doesn't exist. */
|
||||
else if (pc.error == EROFS && (flags & O_ACCMODE) == O_RDONLY)
|
||||
set_errno (ENOENT);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user