Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 72f98e72 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

locks: turn lock_flocks into a spinlock



Nothing depends on lock_flocks using the BKL
any more, so we can do the switch over to
a private spinlock.

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent f7347ce4
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -50,7 +50,6 @@ endif # BLOCK
config FILE_LOCKING
config FILE_LOCKING
	bool "Enable POSIX file locking API" if EMBEDDED
	bool "Enable POSIX file locking API" if EMBEDDED
	default y
	default y
	select BKL # while lockd still uses it.
	help
	help
	  This option enables standard file locking support, required
	  This option enables standard file locking support, required
          for filesystems like NFS and for the flock() system
          for filesystems like NFS and for the flock() system
+3 −2
Original line number Original line Diff line number Diff line
@@ -142,6 +142,7 @@ int lease_break_time = 45;


static LIST_HEAD(file_lock_list);
static LIST_HEAD(file_lock_list);
static LIST_HEAD(blocked_list);
static LIST_HEAD(blocked_list);
static DEFINE_SPINLOCK(file_lock_lock);


/*
/*
 * Protects the two list heads above, plus the inode->i_flock list
 * Protects the two list heads above, plus the inode->i_flock list
@@ -149,13 +150,13 @@ static LIST_HEAD(blocked_list);
 */
 */
void lock_flocks(void)
void lock_flocks(void)
{
{
	lock_kernel();
	spin_lock(&file_lock_lock);
}
}
EXPORT_SYMBOL_GPL(lock_flocks);
EXPORT_SYMBOL_GPL(lock_flocks);


void unlock_flocks(void)
void unlock_flocks(void)
{
{
	unlock_kernel();
	spin_unlock(&file_lock_lock);
}
}
EXPORT_SYMBOL_GPL(unlock_flocks);
EXPORT_SYMBOL_GPL(unlock_flocks);