[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)