[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gluster-devel] posix-locks bugs
From: |
Timo Sirainen |
Subject: |
[Gluster-devel] posix-locks bugs |
Date: |
Tue, 18 Dec 2007 15:15:37 +0200 |
new_posix_lock (struct flock *flock, transport_t *transport, pid_t client_pid)
..
if (flock->l_len == 0)
lock->fl_end = ULONG_MAX;
fl_end is "signed long long" type pretty much everywhere. The main bug
here is that with 64bit systems ULONG_MAX gets converted to -1, and
l_len=0 locks break completely.
With 32bit systems it also breaks if doing lock ranges above 4GB in a
file, but this is probably less of a problem.
So, this should work better:
lock->fl_end = LLONG_MAX;
(BTW. Why aren't PGP signatures allowed here? I got "The message's
content type was not explicitly allowed")
- [Gluster-devel] posix-locks bugs,
Timo Sirainen <=