gluster-devel
[Top][All Lists]
Advanced

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






reply via email to

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