bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] 1(3) hurd+glibc: Support for file record locking


From: Svante Signell
Subject: Re: [PATCH] 1(3) hurd+glibc: Support for file record locking
Date: Sun, 03 Feb 2019 13:31:11 +0100
User-agent: Evolution 3.30.4-1

On Sat, 2019-02-02 at 14:34 +0100, Samuel Thibault wrote:
> Hello,

> So can you confirm my guesswork above? If, so, then only keep the first
> line (the second line doesn't make sense in my guesswork), and mention
> that while fcntl requires WR access for exclusive lock, flock doesn't.

I've now run the tests for flock:
./test-flock
./test-flock: Usage: ./test-flock file [flags] [operation] [sleep_time]
                   file       : file name/device name
                   flags      : r (O_RDONLY) | w [O_WRONLY] | rw (O_RDWR)
                   operation  : s [LOCK_SH], x (LOCK_EX), u (LOCK_UN),
                                sn (LOCK_SH | LOCK_UN), xn (LOCK_EX | LOCK_UN)
                   sleep_time : st <number>[10]

GNU/Linux and GNU/Hurd: (all OK)
Terminal 1 and Terminal 2:
./test-flock foo r x
./test-flock foo w x
./test-flock foo r xn
./test-flock foo w xn

Without both statements below the tests would not work for all cases above, at
least according to my understanding. Note that these statements are made only
for the *_S_file_lock.c files, i.e. the flock case.

if ((openstat & O_RDONLY) && !(openstat & O_WRONLY)) openstat |= O_WRONLY;
if (!(openstat & O_RDONLY) && (openstat & O_WRONLY)) openstat |= O_RDONLY;

I will add comments in the code when we agree of the above issue and re-submit
the libdiskfs and libnetfs patches.

I've found some locking error in the libtrivfs implementation. BBL on that.
(and will supply updated patches for libtrivfs and libfshelp-tests)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]