[Thread Prev][Thread Next][Index]
Re: Ferret open .jnl file rw ?
Hi again, still investgating....
I've noticed that if the 'go' statement fail with 'permission denied',
ferret try to open it ro. ie:
wlos datacer:/home/biblios/las/server/jnls# cat test.jnl
message hello ferret
wlos datacer:/home/biblios/las/server/jnls# ls -l test.jnl
-r--r--r-- 1 www-data www-data 21 Apr 30 13:34 test.jnl
if I now run ferret as root, it work. strace says:
open("./test.jnl", O_RDWR) = -1 EACCES (Permission denied)
open("./test.jnl", O_RDONLY) = 3
so ferret see that he cannot open rw, so he open ro. great!
But if i run ferret as www-data user i've got:
**ERROR: test: Read-Only file system
and strace *only* say:
open("./test.jnl", O_RDWR) = -1 EROFS (Read-only file system)
and ferret doesn't try to open it ro ...
So i think that ferret handle correctly EACCESS error, falling back to
RO. But the EROFS error seem to not be handled correctly... probably
something like
if (errno == EACCESS ) as to be changed to
if ( (errno == EACCESS) || (errno ==EROFS) )
I havent the ferret source code to check and try.... And reading source
code is more understandable than strace...
Is someone who have acces to source code can check ? Or maybe someone
can send it to me ?
Thx
--
Olivier
Olivier ARCHER wrote:
Hi,
I'm very new to ferret, and i using it in conjuction with Live Access
Server.
When Ferret trie on my system (linux 2.4.18 debian) to access a .jnl
file, it try to open it RW. But .jnl file are on nfs ro and ferret
complain...
*Adding an acceptable error string: "*** NOTE: ".
NOAA/PMEL TMAP
FERRET v5.41 Linux 2.4.3-12smp - 08/30/02
25-Apr-03 08:49
yes? cancel mode verify
yes? cancel mode interp
yes? canc data/all
yes? go std_initialize
"http://wlos.ifremer.fr:8094/dodsC/MWF/NSCAT/WEEK" "1" "1" "wind_speed"
**ERROR: std_initialize: Read-only file system
I've straced ferret, and here are the last signifiant lines:
*read(0, "go std_initialize \"http://wlos.i"..., 4096) = 90
write(5, "go std_initialize \"http://wlos.i"..., 90) = 90
access("/home/biblios/las/server/jnls/std_initialize.jnl", F_OK) = 0
access("/home/biblios/las/server/jnls/std_initialize.jnl", F_OK) = 0
open("/home/biblios/las/server/jnls/std_initialize.jnl", O_RDWR) = -1
EROFS (Read-only file system)
open("/home/biblios/las/server/jnls/std_initialize.jnl", O_RDWR) = -1
EROFS (Read-only file system)
dup(2) = 6
fcntl64(6, F_GETFL) = -1 ENOSYS (Function not
implemented)
fcntl(6, F_GETFL) = 0x1 (flags O_WRONLY)
close(6) = 0
fstat(2, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x41c34000
write(2, "**ERROR: std_initialize: Read-on"..., 47) = 47
write(1, "yes? ", 5) = 5
read(0,
Is there a directive to say that ferret must open .jnl file RO ?
--
Olivier
[Thread Prev][Thread Next][Index]
Dept of Commerce /
NOAA /
OAR /
PMEL /
TMAP
Contact Us | Privacy Policy | Disclaimer | Accessibility Statement