aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/locks.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@primarydata.com>2015-01-16 15:05:54 -0500
committerJeff Layton <jlayton@primarydata.com>2015-01-16 15:05:54 -0500
commit4a075e39c86490cc0f0c10ac6abe3592d1689463 (patch)
tree8da8633f9f717128c02a08ad15b7d9f067091acb /fs/ceph/locks.c
parentlocks: have locks_release_file use flock_lock_file to release generic flock locks (diff)
downloadlinux-dev-4a075e39c86490cc0f0c10ac6abe3592d1689463.tar.xz
linux-dev-4a075e39c86490cc0f0c10ac6abe3592d1689463.zip
locks: add a new struct file_locking_context pointer to struct inode
The current scheme of using the i_flock list is really difficult to manage. There is also a legitimate desire for a per-inode spinlock to manage these lists that isn't the i_lock. Start conversion to a new scheme to eventually replace the old i_flock list with a new "file_lock_context" object. We start by adding a new i_flctx to struct inode. For now, it lives in parallel with i_flock list, but will eventually replace it. The idea is to allocate a structure to sit in that pointer and act as a locus for all things file locking. We allocate a file_lock_context for an inode when the first lock is added to it, and it's only freed when the inode is freed. We use the i_lock to protect the assignment, but afterward it should mostly be accessed locklessly. Signed-off-by: Jeff Layton <jlayton@primarydata.com> Acked-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/ceph/locks.c')
0 files changed, 0 insertions, 0 deletions