projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] x86_64: group memnodemap and memnodeshift in a memnode structure
[powerpc.git]
/
fs
/
locks.c
diff --git
a/fs/locks.c
b/fs/locks.c
index
250ef53
..
909eab8
100644
(file)
--- a/
fs/locks.c
+++ b/
fs/locks.c
@@
-154,7
+154,7
@@
static struct file_lock *locks_alloc_lock(void)
}
/* Free a lock which is not in use. */
}
/* Free a lock which is not in use. */
-static
inline
void locks_free_lock(struct file_lock *fl)
+static void locks_free_lock(struct file_lock *fl)
{
if (fl == NULL) {
BUG();
{
if (fl == NULL) {
BUG();
@@
-475,8
+475,7
@@
static inline int locks_overlap(struct file_lock *fl1, struct file_lock *fl2)
/*
* Check whether two locks have the same owner.
*/
/*
* Check whether two locks have the same owner.
*/
-static inline int
-posix_same_owner(struct file_lock *fl1, struct file_lock *fl2)
+static int posix_same_owner(struct file_lock *fl1, struct file_lock *fl2)
{
if (fl1->fl_lmops && fl1->fl_lmops->fl_compare_owner)
return fl2->fl_lmops == fl1->fl_lmops &&
{
if (fl1->fl_lmops && fl1->fl_lmops->fl_compare_owner)
return fl2->fl_lmops == fl1->fl_lmops &&
@@
-487,7
+486,7
@@
posix_same_owner(struct file_lock *fl1, struct file_lock *fl2)
/* Remove waiter from blocker's block list.
* When blocker ends up pointing to itself then the list is empty.
*/
/* Remove waiter from blocker's block list.
* When blocker ends up pointing to itself then the list is empty.
*/
-static
inline
void __locks_delete_block(struct file_lock *waiter)
+static void __locks_delete_block(struct file_lock *waiter)
{
list_del_init(&waiter->fl_block);
list_del_init(&waiter->fl_link);
{
list_del_init(&waiter->fl_block);
list_del_init(&waiter->fl_link);
@@
-1958,22
+1957,18
@@
EXPORT_SYMBOL(posix_block_lock);
*
* lockd needs to block waiting for locks.
*/
*
* lockd needs to block waiting for locks.
*/
-void
+int
posix_unblock_lock(struct file *filp, struct file_lock *waiter)
{
posix_unblock_lock(struct file *filp, struct file_lock *waiter)
{
- /*
- * A remote machine may cancel the lock request after it's been
- * granted locally. If that happens, we need to delete the lock.
- */
+ int status = 0;
+
lock_kernel();
lock_kernel();
- if (waiter->fl_next)
{
+ if (waiter->fl_next)
__locks_delete_block(waiter);
__locks_delete_block(waiter);
- unlock_kernel();
- } else {
- unlock_kernel();
- waiter->fl_type = F_UNLCK;
- posix_lock_file(filp, waiter);
- }
+ else
+ status = -ENOENT;
+ unlock_kernel();
+ return status;
}
EXPORT_SYMBOL(posix_unblock_lock);
}
EXPORT_SYMBOL(posix_unblock_lock);