Home
last modified time | relevance | path

Searched refs:fl (Results 1 – 25 of 55) sorted by relevance

123

/fs/
Dlocks.c177 #define IS_POSIX(fl) (fl->fl_flags & FL_POSIX) argument
178 #define IS_FLOCK(fl) (fl->fl_flags & FL_FLOCK) argument
179 #define IS_LEASE(fl) (fl->fl_flags & (FL_LEASE|FL_DELEG|FL_LAYOUT)) argument
180 #define IS_OFDLCK(fl) (fl->fl_flags & FL_OFDLCK) argument
181 #define IS_REMOTELCK(fl) (fl->fl_pid <= 0) argument
183 static bool lease_breaking(struct file_lock *fl) in lease_breaking() argument
185 return fl->fl_flags & (FL_UNLOCK_PENDING | FL_DOWNGRADE_PENDING); in lease_breaking()
188 static int target_leasetype(struct file_lock *fl) in target_leasetype() argument
190 if (fl->fl_flags & FL_UNLOCK_PENDING) in target_leasetype()
192 if (fl->fl_flags & FL_DOWNGRADE_PENDING) in target_leasetype()
[all …]
Dfcntl.c542 struct compat_flock fl; in get_compat_flock() local
544 if (copy_from_user(&fl, ufl, sizeof(struct compat_flock))) in get_compat_flock()
546 copy_flock_fields(kfl, &fl); in get_compat_flock()
552 struct compat_flock64 fl; in get_compat_flock64() local
554 if (copy_from_user(&fl, ufl, sizeof(struct compat_flock64))) in get_compat_flock64()
556 copy_flock_fields(kfl, &fl); in get_compat_flock64()
562 struct compat_flock fl; in put_compat_flock() local
564 memset(&fl, 0, sizeof(struct compat_flock)); in put_compat_flock()
565 copy_flock_fields(&fl, kfl); in put_compat_flock()
566 if (copy_to_user(ufl, &fl, sizeof(struct compat_flock))) in put_compat_flock()
[all …]
/fs/lockd/
Dclntproc.c31 static void nlmclnt_locks_init_private(struct file_lock *fl, struct nlm_host *host);
126 static void nlmclnt_setlockargs(struct nlm_rqst *req, struct file_lock *fl) in nlmclnt_setlockargs() argument
133 memcpy(&lock->fh, NFS_FH(locks_inode(fl->fl_file)), sizeof(struct nfs_fh)); in nlmclnt_setlockargs()
137 (unsigned int)fl->fl_u.nfs_fl.owner->pid, in nlmclnt_setlockargs()
139 lock->svid = fl->fl_u.nfs_fl.owner->pid; in nlmclnt_setlockargs()
140 lock->fl.fl_start = fl->fl_start; in nlmclnt_setlockargs()
141 lock->fl.fl_end = fl->fl_end; in nlmclnt_setlockargs()
142 lock->fl.fl_type = fl->fl_type; in nlmclnt_setlockargs()
147 WARN_ON_ONCE(req->a_args.lock.fl.fl_ops != NULL); in nlmclnt_release_lockargs()
158 int nlmclnt_proc(struct nlm_host *host, int cmd, struct file_lock *fl, void *data) in nlmclnt_proc() argument
[all …]
Dsvclock.c149 struct file_lock *fl; in nlmsvc_lookup_block() local
152 file, lock->fl.fl_pid, in nlmsvc_lookup_block()
153 (long long)lock->fl.fl_start, in nlmsvc_lookup_block()
154 (long long)lock->fl.fl_end, lock->fl.fl_type); in nlmsvc_lookup_block()
156 fl = &block->b_call->a_args.lock.fl; in nlmsvc_lookup_block()
158 block->b_file, fl->fl_pid, in nlmsvc_lookup_block()
159 (long long)fl->fl_start, in nlmsvc_lookup_block()
160 (long long)fl->fl_end, fl->fl_type, in nlmsvc_lookup_block()
162 if (block->b_file == file && nlm_compare_locks(fl, &lock->fl)) { in nlmsvc_lookup_block()
240 call->a_args.lock.fl.fl_flags |= FL_SLEEP; in nlmsvc_create_block()
[all …]
Dxdr4.c36 void nlm4svc_set_file_lock_range(struct file_lock *fl, u64 off, u64 len) in nlm4svc_set_file_lock_range() argument
40 fl->fl_start = off; in nlm4svc_set_file_lock_range()
42 fl->fl_end = OFFSET_MAX; in nlm4svc_set_file_lock_range()
44 fl->fl_end = end; in nlm4svc_set_file_lock_range()
76 struct file_lock *fl = &lock->fl; in svcxdr_decode_lock() local
91 locks_init_lock(fl); in svcxdr_decode_lock()
92 fl->fl_flags = FL_POSIX; in svcxdr_decode_lock()
93 fl->fl_type = F_RDLCK; in svcxdr_decode_lock()
94 nlm4svc_set_file_lock_range(fl, lock->lock_start, lock->lock_len); in svcxdr_decode_lock()
101 const struct file_lock *fl = &lock->fl; in svcxdr_encode_holder() local
[all …]
Dxdr.c74 struct file_lock *fl = &lock->fl; in svcxdr_decode_lock() local
90 locks_init_lock(fl); in svcxdr_decode_lock()
91 fl->fl_flags = FL_POSIX; in svcxdr_decode_lock()
92 fl->fl_type = F_RDLCK; in svcxdr_decode_lock()
94 fl->fl_start = s32_to_loff_t(start); in svcxdr_decode_lock()
96 fl->fl_end = OFFSET_MAX; in svcxdr_decode_lock()
98 fl->fl_end = s32_to_loff_t(end); in svcxdr_decode_lock()
106 const struct file_lock *fl = &lock->fl; in svcxdr_encode_holder() local
110 if (xdr_stream_encode_bool(xdr, fl->fl_type != F_RDLCK) < 0) in svcxdr_encode_holder()
116 start = loff_t_to_s32(fl->fl_start); in svcxdr_encode_holder()
[all …]
Dclntxdr.c64 const struct file_lock *fl = &lock->fl; in nlm_compute_offsets() local
66 *l_offset = loff_t_to_s32(fl->fl_start); in nlm_compute_offsets()
67 if (fl->fl_end == OFFSET_MAX) in nlm_compute_offsets()
70 *l_len = loff_t_to_s32(fl->fl_end - fl->fl_start + 1); in nlm_compute_offsets()
241 encode_bool(xdr, lock->fl.fl_type == F_RDLCK); in encode_nlm_holder()
254 struct file_lock *fl = &lock->fl; in decode_nlm_holder() local
261 locks_init_lock(fl); in decode_nlm_holder()
268 fl->fl_pid = (pid_t)lock->svid; in decode_nlm_holder()
278 fl->fl_flags = FL_POSIX; in decode_nlm_holder()
279 fl->fl_type = exclusive != 0 ? F_WRLCK : F_RDLCK; in decode_nlm_holder()
[all …]
Dclntlock.c100 struct nlm_wait *nlmclnt_prepare_block(struct nlm_host *host, struct file_lock *fl) in nlmclnt_prepare_block() argument
107 block->b_lock = fl; in nlmclnt_prepare_block()
166 const struct file_lock *fl = &lock->fl; in nlmclnt_grant() local
179 if (fl_blocked->fl_start != fl->fl_start) in nlmclnt_grant()
181 if (fl_blocked->fl_end != fl->fl_end) in nlmclnt_grant()
234 struct file_lock *fl, *next; in reclaimer() local
260 list_for_each_entry_safe(fl, next, &host->h_reclaim, fl_u.nfs_fl.list) { in reclaimer()
261 list_del_init(&fl->fl_u.nfs_fl.list); in reclaimer()
271 if (nlmclnt_reclaim(host, fl, req) != 0) in reclaimer()
273 list_add_tail(&fl->fl_u.nfs_fl.list, &host->h_granted); in reclaimer()
Dclnt4xdr.c68 const struct file_lock *fl = &lock->fl; in nlm4_compute_offsets() local
70 *l_offset = loff_t_to_s64(fl->fl_start); in nlm4_compute_offsets()
71 if (fl->fl_end == OFFSET_MAX) in nlm4_compute_offsets()
74 *l_len = loff_t_to_s64(fl->fl_end - fl->fl_start + 1); in nlm4_compute_offsets()
246 encode_bool(xdr, lock->fl.fl_type == F_RDLCK); in encode_nlm4_holder()
259 struct file_lock *fl = &lock->fl; in decode_nlm4_holder() local
266 locks_init_lock(fl); in decode_nlm4_holder()
273 fl->fl_pid = (pid_t)lock->svid; in decode_nlm4_holder()
283 fl->fl_flags = FL_POSIX; in decode_nlm4_holder()
284 fl->fl_type = exclusive != 0 ? F_WRLCK : F_RDLCK; in decode_nlm4_holder()
[all …]
Dsvcsubs.c116 mode = lock_to_openmode(&lock->fl); in nlm_lookup_file()
179 static int nlm_unlock_files(struct nlm_file *file, const struct file_lock *fl) in nlm_unlock_files() argument
187 lock.fl_owner = fl->fl_owner; in nlm_unlock_files()
188 lock.fl_pid = fl->fl_pid; in nlm_unlock_files()
212 struct file_lock *fl; in nlm_traverse_locks() local
221 list_for_each_entry(fl, &flctx->flc_posix, fl_list) { in nlm_traverse_locks()
222 if (fl->fl_lmops != &nlmsvc_lock_operations) in nlm_traverse_locks()
228 lockhost = ((struct nlm_lockowner *)fl->fl_owner)->host; in nlm_traverse_locks()
232 if (nlm_unlock_files(file, fl)) in nlm_traverse_locks()
267 struct file_lock *fl; in nlm_file_inuse() local
[all …]
Dsvc4proc.c47 int mode = lock_to_openmode(&lock->fl); in nlm4svc_retrieve_args()
55 lock->fl.fl_file = file->f_file[mode]; in nlm4svc_retrieve_args()
56 lock->fl.fl_pid = current->tgid; in nlm4svc_retrieve_args()
57 lock->fl.fl_start = (loff_t)lock->lock_start; in nlm4svc_retrieve_args()
58 lock->fl.fl_end = lock->lock_len ? in nlm4svc_retrieve_args()
61 lock->fl.fl_lmops = &nlmsvc_lock_operations; in nlm4svc_retrieve_args()
62 nlmsvc_locks_init_private(&lock->fl, host, (pid_t)lock->svid); in nlm4svc_retrieve_args()
63 if (!lock->fl.fl_owner) { in nlm4svc_retrieve_args()
/fs/afs/
Dflock.c17 static void afs_fl_copy_lock(struct file_lock *new, struct file_lock *fl);
18 static void afs_fl_release_private(struct file_lock *fl);
452 static int afs_do_setlk(struct file *file, struct file_lock *fl) in afs_do_setlk() argument
467 fl->fl_start, fl->fl_end, fl->fl_type, mode); in afs_do_setlk()
469 fl->fl_ops = &afs_lock_ops; in afs_do_setlk()
470 INIT_LIST_HEAD(&fl->fl_u.afs.link); in afs_do_setlk()
471 fl->fl_u.afs.state = AFS_LOCK_PENDING; in afs_do_setlk()
473 partial = (fl->fl_start != 0 || fl->fl_end != OFFSET_MAX); in afs_do_setlk()
474 type = (fl->fl_type == F_RDLCK) ? AFS_LOCK_READ : AFS_LOCK_WRITE; in afs_do_setlk()
482 trace_afs_flock_op(vnode, fl, afs_flock_op_set_lock); in afs_do_setlk()
[all …]
/fs/ceph/
Dlocks.c39 static void ceph_fl_release_lock(struct file_lock *fl) in ceph_fl_release_lock() argument
41 struct inode *inode = file_inode(fl->fl_file); in ceph_fl_release_lock()
60 int cmd, u8 wait, struct file_lock *fl) in ceph_lock_message() argument
75 fl->fl_ops = &ceph_fl_lock_ops; in ceph_lock_message()
76 fl->fl_ops->fl_copy_lock(fl, NULL); in ceph_lock_message()
90 if (LLONG_MAX == fl->fl_end) in ceph_lock_message()
93 length = fl->fl_end - fl->fl_start + 1; in ceph_lock_message()
95 owner = secure_addr(fl->fl_owner); in ceph_lock_message()
99 (int)operation, owner, (u64)fl->fl_pid, fl->fl_start, length, in ceph_lock_message()
100 wait, fl->fl_type); in ceph_lock_message()
[all …]
Dutil.c31 void ceph_file_layout_from_legacy(struct ceph_file_layout *fl, in ceph_file_layout_from_legacy() argument
34 fl->stripe_unit = le32_to_cpu(legacy->fl_stripe_unit); in ceph_file_layout_from_legacy()
35 fl->stripe_count = le32_to_cpu(legacy->fl_stripe_count); in ceph_file_layout_from_legacy()
36 fl->object_size = le32_to_cpu(legacy->fl_object_size); in ceph_file_layout_from_legacy()
37 fl->pool_id = le32_to_cpu(legacy->fl_pg_pool); in ceph_file_layout_from_legacy()
38 if (fl->pool_id == 0 && fl->stripe_unit == 0 && in ceph_file_layout_from_legacy()
39 fl->stripe_count == 0 && fl->object_size == 0) in ceph_file_layout_from_legacy()
40 fl->pool_id = -1; in ceph_file_layout_from_legacy()
43 void ceph_file_layout_to_legacy(struct ceph_file_layout *fl, in ceph_file_layout_to_legacy() argument
46 legacy->fl_stripe_unit = cpu_to_le32(fl->stripe_unit); in ceph_file_layout_to_legacy()
[all …]
/fs/dlm/
Dplock.c23 void *fl; member
26 int (*callback)(struct file_lock *fl, int result);
104 int cmd, struct file_lock *fl) in dlm_posix_lock() argument
122 op->info.pid = fl->fl_pid; in dlm_posix_lock()
123 op->info.ex = (fl->fl_type == F_WRLCK); in dlm_posix_lock()
127 op->info.start = fl->fl_start; in dlm_posix_lock()
128 op->info.end = fl->fl_end; in dlm_posix_lock()
130 if (fl->fl_lmops && fl->fl_lmops->lm_grant) { in dlm_posix_lock()
140 op->info.owner = (__u64) fl->fl_pid; in dlm_posix_lock()
141 op_data->callback = fl->fl_lmops->lm_grant; in dlm_posix_lock()
[all …]
/fs/nfs/filelayout/
Dfilelayout.c539 struct nfs4_filelayout_segment *fl, in filelayout_check_deviceid() argument
547 if (fl->dsaddr != NULL) in filelayout_check_deviceid()
551 d = nfs4_find_get_deviceid(NFS_SERVER(lo->plh_inode), &fl->deviceid, in filelayout_check_deviceid()
561 if (fl->first_stripe_index >= dsaddr->stripe_count) { in filelayout_check_deviceid()
563 __func__, fl->first_stripe_index); in filelayout_check_deviceid()
567 if ((fl->stripe_type == STRIPE_SPARSE && in filelayout_check_deviceid()
568 fl->num_fh > 1 && fl->num_fh != dsaddr->ds_num) || in filelayout_check_deviceid()
569 (fl->stripe_type == STRIPE_DENSE && in filelayout_check_deviceid()
570 fl->num_fh != dsaddr->stripe_count)) { in filelayout_check_deviceid()
572 __func__, fl->num_fh); in filelayout_check_deviceid()
[all …]
/fs/9p/
Dvfs_file.c117 static int v9fs_file_lock(struct file *filp, int cmd, struct file_lock *fl) in v9fs_file_lock() argument
122 p9_debug(P9_DEBUG_VFS, "filp: %p lock: %p\n", filp, fl); in v9fs_file_lock()
124 if ((IS_SETLK(cmd) || IS_SETLKW(cmd)) && fl->fl_type != F_UNLCK) { in v9fs_file_lock()
132 static int v9fs_file_do_lock(struct file *filp, int cmd, struct file_lock *fl) in v9fs_file_do_lock() argument
144 if ((fl->fl_flags & FL_POSIX) != FL_POSIX) in v9fs_file_do_lock()
147 res = locks_lock_file_wait(filp, fl); in v9fs_file_do_lock()
154 switch (fl->fl_type) { in v9fs_file_do_lock()
165 flock.start = fl->fl_start; in v9fs_file_do_lock()
166 if (fl->fl_end == OFFSET_MAX) in v9fs_file_do_lock()
169 flock.length = fl->fl_end - fl->fl_start + 1; in v9fs_file_do_lock()
[all …]
/fs/ocfs2/
Dlocks.c23 int cmd, struct file_lock *fl) in ocfs2_do_flock() argument
29 if (fl->fl_type == F_WRLCK) in ocfs2_do_flock()
71 ret = locks_lock_file_wait(file, fl); in ocfs2_do_flock()
81 static int ocfs2_do_funlock(struct file *file, int cmd, struct file_lock *fl) in ocfs2_do_funlock() argument
88 ret = locks_lock_file_wait(file, fl); in ocfs2_do_funlock()
97 int ocfs2_flock(struct file *file, int cmd, struct file_lock *fl) in ocfs2_flock() argument
102 if (!(fl->fl_flags & FL_FLOCK)) in ocfs2_flock()
107 return locks_lock_file_wait(file, fl); in ocfs2_flock()
109 if (fl->fl_type == F_UNLCK) in ocfs2_flock()
110 return ocfs2_do_funlock(file, cmd, fl); in ocfs2_flock()
[all …]
Dlocks.h13 int ocfs2_flock(struct file *file, int cmd, struct file_lock *fl);
14 int ocfs2_lock(struct file *file, int cmd, struct file_lock *fl);
Dalloc.c6534 struct ocfs2_per_slot_free_list *fl; in ocfs2_run_deallocs() local
6540 fl = ctxt->c_first_suballocator; in ocfs2_run_deallocs()
6542 if (fl->f_first) { in ocfs2_run_deallocs()
6543 trace_ocfs2_run_deallocs(fl->f_inode_type, in ocfs2_run_deallocs()
6544 fl->f_slot); in ocfs2_run_deallocs()
6546 fl->f_inode_type, in ocfs2_run_deallocs()
6547 fl->f_slot, in ocfs2_run_deallocs()
6548 fl->f_first); in ocfs2_run_deallocs()
6555 ctxt->c_first_suballocator = fl->f_next_suballocator; in ocfs2_run_deallocs()
6556 kfree(fl); in ocfs2_run_deallocs()
[all …]
/fs/nfsd/
Dflexfilelayout.c30 struct pnfs_ff_layout *fl; in nfsd4_ff_proc_layoutget() local
38 fl = kzalloc(sizeof(*fl), GFP_KERNEL); in nfsd4_ff_proc_layoutget()
39 if (!fl) in nfsd4_ff_proc_layoutget()
41 args->lg_content = fl; in nfsd4_ff_proc_layoutget()
48 fl->flags = FF_FLAGS_NO_LAYOUTCOMMIT | FF_FLAGS_NO_IO_THRU_MDS | in nfsd4_ff_proc_layoutget()
54 fl->uid = make_kuid(&init_user_ns, u); in nfsd4_ff_proc_layoutget()
56 fl->uid = inode->i_uid; in nfsd4_ff_proc_layoutget()
57 fl->gid = inode->i_gid; in nfsd4_ff_proc_layoutget()
59 error = nfsd4_set_deviceid(&fl->deviceid, fhp, device_generation); in nfsd4_ff_proc_layoutget()
63 fl->fh.size = fhp->fh_handle.fh_size; in nfsd4_ff_proc_layoutget()
[all …]
Dflexfilelayoutxdr.c22 struct pnfs_ff_layout *fl = lgp->lg_content; in nfsd4_ff_encode_layoutget() local
33 fh_len = 4 + fl->fh.size; in nfsd4_ff_encode_layoutget()
35 uid.len = sprintf(uid.buf, "%u", from_kuid(&init_user_ns, fl->uid)); in nfsd4_ff_encode_layoutget()
36 gid.len = sprintf(gid.buf, "%u", from_kgid(&init_user_ns, fl->gid)); in nfsd4_ff_encode_layoutget()
57 p = xdr_encode_opaque_fixed(p, &fl->deviceid, in nfsd4_ff_encode_layoutget()
62 *p++ = cpu_to_be32(fl->stateid.si_generation); in nfsd4_ff_encode_layoutget()
63 p = xdr_encode_opaque_fixed(p, &fl->stateid.si_opaque, in nfsd4_ff_encode_layoutget()
67 p = xdr_encode_opaque(p, fl->fh.data, fl->fh.size); in nfsd4_ff_encode_layoutget()
72 *p++ = cpu_to_be32(fl->flags); in nfsd4_ff_encode_layoutget()
Dnfs4layouts.c184 struct file_lock *fl; in nfsd4_layout_setlease() local
190 fl = locks_alloc_lock(); in nfsd4_layout_setlease()
191 if (!fl) in nfsd4_layout_setlease()
193 locks_init_lock(fl); in nfsd4_layout_setlease()
194 fl->fl_lmops = &nfsd4_layouts_lm_ops; in nfsd4_layout_setlease()
195 fl->fl_flags = FL_LAYOUT; in nfsd4_layout_setlease()
196 fl->fl_type = F_RDLCK; in nfsd4_layout_setlease()
197 fl->fl_end = OFFSET_MAX; in nfsd4_layout_setlease()
198 fl->fl_owner = ls; in nfsd4_layout_setlease()
199 fl->fl_pid = current->tgid; in nfsd4_layout_setlease()
[all …]
/fs/nfs/
Dfile.c687 do_getlk(struct file *filp, int cmd, struct file_lock *fl, int is_local) in do_getlk() argument
691 unsigned int saved_type = fl->fl_type; in do_getlk()
694 posix_test_lock(filp, fl); in do_getlk()
695 if (fl->fl_type != F_UNLCK) { in do_getlk()
699 fl->fl_type = saved_type; in do_getlk()
707 status = NFS_PROTO(inode)->lock(filp, cmd, fl); in do_getlk()
711 fl->fl_type = F_UNLCK; in do_getlk()
716 do_unlk(struct file *filp, int cmd, struct file_lock *fl, int is_local) in do_unlk() argument
736 if (status < 0 && !(fl->fl_flags & FL_CLOSE)) in do_unlk()
745 status = NFS_PROTO(inode)->lock(filp, cmd, fl); in do_unlk()
[all …]
/fs/gfs2/
Dfile.c1445 static int gfs2_lock(struct file *file, int cmd, struct file_lock *fl) in gfs2_lock() argument
1451 if (!(fl->fl_flags & FL_POSIX)) in gfs2_lock()
1456 fl->fl_type = F_UNLCK; in gfs2_lock()
1459 if (fl->fl_type == F_UNLCK) in gfs2_lock()
1460 locks_lock_file_wait(file, fl); in gfs2_lock()
1464 return dlm_posix_get(ls->ls_dlm, ip->i_no_addr, file, fl); in gfs2_lock()
1465 else if (fl->fl_type == F_UNLCK) in gfs2_lock()
1466 return dlm_posix_unlock(ls->ls_dlm, ip->i_no_addr, file, fl); in gfs2_lock()
1468 return dlm_posix_lock(ls->ls_dlm, ip->i_no_addr, file, cmd, fl); in gfs2_lock()
1471 static int do_flock(struct file *file, int cmd, struct file_lock *fl) in do_flock() argument
[all …]

123