From: J. Bruce Fields Date: Thu, 10 May 2007 22:38:43 +0000 (-0400) Subject: locks: fix F_GETLK regression (failure to find conflicts) X-Git-Tag: v2.6.22-rc1~104 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=129a84de2347002f09721cda3155ccfd19fade40;p=pandora-kernel.git locks: fix F_GETLK regression (failure to find conflicts) In 9d6a8c5c213e34c475e72b245a8eb709258e968c we changed posix_test_lock to modify its single file_lock argument instead of taking separate input and output arguments. This makes it no longer safe to set the output lock's fl_type to F_UNLCK before looking for a conflict, since that means searching for a conflict against a lock with type F_UNLCK. This fixes a regression which causes F_GETLK to incorrectly report no conflict on most filesystems (including any filesystem that doesn't do its own locking). Also fix posix_lock_to_flock() to copy the lock type. This isn't strictly necessary, since the caller already does this; but it seems less likely to cause confusion in the future. Thanks to Doug Chapman for the bug report. Signed-off-by: "J. Bruce Fields" Acked-by: Doug Chapman Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed