file_lease
static void lease_clear_pending(struct file_lease *fl, int arg)
int lease_modify(struct file_lease *fl, int arg, struct list_head *dispose)
struct file_lease *fl, *tmp;
struct file_lease *lease = file_lease(lc);
struct file_lease *breaker = file_lease(bc);
any_leases_conflict(struct inode *inode, struct file_lease *breaker)
struct file_lease *new_fl, *fl, *tmp;
fl = list_first_entry(&ctx->flc_lease, struct file_lease, c.flc_list);
struct file_lease *fl;
generic_add_lease(struct file *filp, int arg, struct file_lease **flp, void **priv)
struct file_lease *fl, *my_fl = NULL, *lease;
struct file_lease *fl, *victim = NULL;
int generic_setlease(struct file *filp, int arg, struct file_lease **flp,
setlease_notifier(int arg, struct file_lease *lease)
kernel_setlease(struct file *filp, int arg, struct file_lease **lease, void **priv)
vfs_setlease(struct file *filp, int arg, struct file_lease **lease, void **priv)
struct file_lease *fl;
struct file_lease *fl, *tmp;
struct file_lease *lease = file_lease(flc);
struct file_lease *locks_alloc_lease(void)
struct file_lease *fl = kmem_cache_zalloc(filelease_cache, GFP_KERNEL);
sizeof(struct file_lease), 0, SLAB_PANIC, NULL);
void locks_free_lease(struct file_lease *fl)
locks_free_lease(file_lease(flc));
void locks_init_lease(struct file_lease *fl)
lease_break_callback(struct file_lease *fl)
lease_setup(struct file_lease *fl, void **priv)
static int lease_init(struct file *filp, unsigned int flags, int type, struct file_lease *fl)
static struct file_lease *lease_alloc(struct file *filp, unsigned int flags, int type)
struct file_lease *fl = locks_alloc_lease();
static struct file_lease *file_lease(struct file_lock_core *flc)
return container_of(flc, struct file_lease, c);
static bool lease_breaking(struct file_lease *fl)
static int target_leasetype(struct file_lease *fl)
struct file_lease **lease, void **priv);
static int nfs4_setlease(struct file *file, int arg, struct file_lease **lease,
static int nfs4_add_lease(struct file *file, int arg, struct file_lease **lease,
int nfs4_proc_setlease(struct file *file, int arg, struct file_lease **lease,
struct file_lease *fl = data;
struct file_lease *fl;
nfsd4_layout_lm_break(struct file_lease *fl)
nfsd4_layout_lm_change(struct file_lease *onlist, int arg,
nfsd_break_deleg_cb(struct file_lease *fl)
static bool nfsd_breaker_owns_lease(struct file_lease *fl)
nfsd_change_deleg_cb(struct file_lease *onlist, int arg,
static struct file_lease *nfs4_alloc_init_lease(struct nfs4_delegation *dp)
struct file_lease *fl;
struct file_lease *fl;
struct file_lease *fl;
struct file_lease *fl;
cifs_setlease(struct file *file, int arg, struct file_lease **lease, void **priv)
void locks_init_lease(struct file_lease *);
void locks_free_lease(struct file_lease *fl);
struct file_lease *locks_alloc_lease(void);
int generic_setlease(struct file *, int, struct file_lease **, void **priv);
int kernel_setlease(struct file *, int, struct file_lease **, void **);
int vfs_setlease(struct file *, int, struct file_lease **, void **);
int lease_modify(struct file_lease *, int, struct list_head *);
struct file_lease;
static inline void locks_init_lease(struct file_lease *fl)
struct file_lease **flp, void **priv)
struct file_lease **lease, void **priv)
struct file_lease **lease, void **priv)
static inline int lease_modify(struct file_lease *fl, int arg,
bool (*lm_break)(struct file_lease *);
int (*lm_change)(struct file_lease *, int, struct list_head *);
void (*lm_setup)(struct file_lease *, void **);
bool (*lm_breaker_owns_lease)(struct file_lease *);
struct file_lease;
int (*setlease)(struct file *, int, struct file_lease **, void **);
TP_PROTO(struct inode *inode, struct file_lease *fl),
__field(struct file_lease *, fl)
DEFINE_EVENT(filelock_lease, break_lease_noblock, TP_PROTO(struct inode *inode, struct file_lease *fl),
DEFINE_EVENT(filelock_lease, break_lease_block, TP_PROTO(struct inode *inode, struct file_lease *fl),
DEFINE_EVENT(filelock_lease, break_lease_unblock, TP_PROTO(struct inode *inode, struct file_lease *fl),
DEFINE_EVENT(filelock_lease, generic_delete_lease, TP_PROTO(struct inode *inode, struct file_lease *fl),
DEFINE_EVENT(filelock_lease, time_out_leases, TP_PROTO(struct inode *inode, struct file_lease *fl),
TP_PROTO(struct inode *inode, struct file_lease *fl),
TP_PROTO(bool conflict, struct file_lease *lease, struct file_lease *breaker),