Re: fcntl F_SETFL, F_GETFL
Mats
Since these are POSIX tests, we need to find out what the 0100000 bit is,
and whether it is a file status flag or file access mode defined in the
fcntl.h. We have seen other systems erroneously setting other flags when
F_SETFL is called
Btw, if you run the vrpt tool
on the journal you will get out the test assertion and
strategy with the failure.
regards
Andrew
On Jul 29, 1:25pm in "fcntl F_SETFL, F_GET", Wichmann, Mats D wrote:
>
> Itanium tests on fcntl(fd, F_SETFL, ...) fail because
> of (apparently) bad expectations. And the spec seems
> to be a little imprecise in this area. Before I push
> this up as a bugreport, I'd like some other views.
>
> The three tests fcntl 6, 7, 8 test several combinations
> of setting file status flags.
>
> To give an example of the test method, the first part of
> test 6 opens a file with O_CREAT|O_RDWR. It then does an
> fcntl call to add O_NONBLOCK to the flags, and an fcntl
> F_GETFL to fetch the new flags, and tests that they are
> exactly equal to O_RDWR|O_NONBLOCK
>
> The failure mode is that on my test system, the flags
> before are 0100002 and after they are 0104002 - in
> other words, the requsted flag got set correctly, but
> the test fails because "after" is not equal to 04002.
>
> Now what about that 0100000 bit?
>
> The SUS says (for F_SETFL): "Set the file status flags,
> defined in <fcntl.h>, for the file description associated
> with fildes from the corresponding bits from the third
> argument, arg, taken as type int. Bits corresponding to
> the file access mode and the oflag values that are set in
> arg are ignored."
>
> The flags defined in fcntl.h for use in this context are
> O_APPEND, O_DSYNC, O_RSYNC, O_SYNC and O_NONBLOCK
> (O_DSYNC and O_RSYNC are tagged Realtime).
>
> The Linux manpage is more explicit, suggesting that the
> test is wrong: "Only O_APPEND, O_NONBLOCK and O_ASYNC
> may be set; the other flags are unaffected".
>
> In the absence of special wording, however, the SUS
> applies, and it's silent on the possible presence of
> any other bits beyond file status and file access;
> it does say that any effort to *set* any such bits is
> unspecified.
>
> So is this a test suite problem? Spec problem? Both?
>
> I also notice that the set of valid file status flags
> seems to differ between the SUS and Linux.
>
> Mats
>
--
To UNSUBSCRIBE, email to lsb-test-request@lists.linuxbase.org
with subject of "unsubscribe". Trouble? Email listmaster@lists.linuxbase.org
Reply to: