When executing a bash script located on my FUSE filesystem, an open()
call is made with these flags:
debug,cpfsfuse.c(62),cpfs_fuse_open: path "/make.sh", flags 0100040
The flags (0100040
) should correspond to those passed in parameter 2 of open()
. The unknown flag originates from an execve()
call:
matt@stanley:~/cpfs/dir$ strace -f ./make.sh
execve("./make.sh", ["./make.sh"], [/* 37 vars */]
My code recognises #define O_LARGEFILE 00100000
, but the other flag appears to arise only when execve()
is called.
Grepping for the flag does not find it:
matt@stanley:~/cpfs$ grep -RP '\b00*40\b' /usr/include/ | less
Mostly terminal flags are found. Can anyone shed some light on either how to track down the origin and meaning of this flag, or where to find its definition?