Post by Svante SignellIs this really needed?
Please quote a bit more than just that, otherwise we don't have any
actual context.
But actually, are you really talking about the mail you are quoting?
(which is about the GETLK part only, not 64bit vs 32bit questions.)
What is "this" in your sentence, exactly? The lines below? Why quoting
an unrelated sentence then?
Post by Svante SignellIndex: glibc-2.28/sysdeps/mach/hurd/fcntl.c
===================================================================
--- glibc-2.28.orig/sysdeps/mach/hurd/fcntl.c
+++ glibc-2.28/sysdeps/mach/hurd/fcntl.c
...
@@ -215,3 +210,4 @@ strong_alias (__libc_fcntl, __libc_fcntl
libc_hidden_def (__libc_fcntl64)
weak_alias (__libc_fcntl64, __fcntl64)
libc_hidden_weak (__fcntl64)
+weak_alias (__fcntl64, fcntl64)
Index: glibc-2.28/sysdeps/mach/hurd/fcntl64.c
===================================================================
--- /dev/null
+++ glibc-2.28/sysdeps/mach/hurd/fcntl64.c
@@ -0,0 +1 @@
+/* fcntl64 is defined in fcntl.c as an alias. */
Well, yes? Like on Linux, fcntl and fcntl64 are just made the same, and
it's the cmd parameter which decides between 32bit vs 64bit.
Or are you saying that we do not need the fcntl64 alias? Well, we do,
since it's declared and used by upstream commit
06ab719d30b01da401150068054d3b8ea93dd12f
Post by Svante SignellAdditionally, sysdeps/mach/hurd/flock.c calls __file_lock() and the file-record-
locking patches need to patch lib{diskfs,netfs,trivfs} file-lock.c files too.
It would be much simpler to use sysdeps/posix/flock.c that calls fcntl()
directly, and scratch sysdeps/mach/hurd/flock.c as well as
libdiskfs/file-lock.c
libnetfs/file-lock.c
libtrivfs/file-lock.c
in due time.
It's not so simple: see my mail from 5th march 2015
http://lists.gnu.org/archive/html/bug-hurd/2015-03/msg00032.html
flock is supposed to be per opened file, thus inherited through forks,
while fcntl/lockf to be per process, thus not inherited through forks.
In my mail I mentioned that we'd use the rendezvous port to distinguish
between both, but for now we'll defer that part and just pass NULL.
In other words, the steps would be:
- just keep flock as it is for now, make use fcntl use the RPC with
rendezvous==NULL, and still make it per-process. tdb will be happy.
- add rendezvous support in the RPC. Then we can make the
rendezvous!=NULL mean per-process, and make the rendezvous==NULL mean
per-open.
- Then we can make flock.c use it instead of file_lock. Notice however
that we can't just call fcntl like sysdeps/posix/flock.c does, since
flock wants per-open lock, not per-process.
- then we can scratch file-lock.c (after we are fairly convinced that
people have migrated to a libc that supports using the new locking
RPC).
Post by Svante SignellWhat about libtreefs/s-file.c:treefs_S_file_lock() and it's hooks?
I don't see any users of this hook, and google doesn't either, so I'd
say we will be fine with scratching it at the same time as file-lock.C
Post by Svante SignellWhat it the main usage application of libtreefs?
I don't know.
Samuel