Searched refs:fl (Results 1 - 199 of 199) sorted by relevance

/linux-4.1.27/include/trace/events/
H A Dfilelock.h39 TP_PROTO(struct inode *inode, struct file_lock *fl),
41 TP_ARGS(inode, fl),
44 __field(struct file_lock *, fl)
56 __entry->fl = fl ? fl : NULL;
59 __entry->fl_next = fl ? fl->fl_next : NULL;
60 __entry->fl_owner = fl ? fl->fl_owner : NULL;
61 __entry->fl_flags = fl ? fl->fl_flags : 0;
62 __entry->fl_type = fl ? fl->fl_type : 0;
63 __entry->fl_break_time = fl ? fl->fl_break_time : 0;
64 __entry->fl_downgrade_time = fl ? fl->fl_downgrade_time : 0;
67 TP_printk("fl=0x%p dev=0x%x:0x%x ino=0x%lx fl_next=0x%p fl_owner=0x%p fl_flags=%s fl_type=%s fl_break_time=%lu fl_downgrade_time=%lu",
68 __entry->fl, MAJOR(__entry->s_dev), MINOR(__entry->s_dev),
75 DEFINE_EVENT(filelock_lease, break_lease_noblock, TP_PROTO(struct inode *inode, struct file_lock *fl),
76 TP_ARGS(inode, fl));
78 DEFINE_EVENT(filelock_lease, break_lease_block, TP_PROTO(struct inode *inode, struct file_lock *fl),
79 TP_ARGS(inode, fl));
81 DEFINE_EVENT(filelock_lease, break_lease_unblock, TP_PROTO(struct inode *inode, struct file_lock *fl),
82 TP_ARGS(inode, fl));
84 DEFINE_EVENT(filelock_lease, generic_add_lease, TP_PROTO(struct inode *inode, struct file_lock *fl),
85 TP_ARGS(inode, fl));
87 DEFINE_EVENT(filelock_lease, generic_delete_lease, TP_PROTO(struct inode *inode, struct file_lock *fl),
88 TP_ARGS(inode, fl));
90 DEFINE_EVENT(filelock_lease, time_out_leases, TP_PROTO(struct inode *inode, struct file_lock *fl),
91 TP_ARGS(inode, fl));
/linux-4.1.27/net/ipv6/
H A Dip6_flowlabel.c60 #define for_each_fl_rcu(hash, fl) \
61 for (fl = rcu_dereference_bh(fl_ht[(hash)]); \
62 fl != NULL; \
63 fl = rcu_dereference_bh(fl->next))
64 #define for_each_fl_continue_rcu(fl) \
65 for (fl = rcu_dereference_bh(fl->next); \
66 fl != NULL; \
67 fl = rcu_dereference_bh(fl->next))
76 struct ip6_flowlabel *fl; __fl_lookup() local
78 for_each_fl_rcu(FL_HASH(label), fl) { __fl_lookup()
79 if (fl->label == label && net_eq(fl->fl_net, net)) __fl_lookup()
80 return fl; __fl_lookup()
87 struct ip6_flowlabel *fl; fl_lookup() local
90 fl = __fl_lookup(net, label); fl_lookup()
91 if (fl && !atomic_inc_not_zero(&fl->users)) fl_lookup()
92 fl = NULL; fl_lookup()
94 return fl; fl_lookup()
98 static void fl_free(struct ip6_flowlabel *fl) fl_free() argument
100 if (fl) { fl_free()
101 if (fl->share == IPV6_FL_S_PROCESS) fl_free()
102 put_pid(fl->owner.pid); fl_free()
103 kfree(fl->opt); fl_free()
104 kfree_rcu(fl, rcu); fl_free()
108 static void fl_release(struct ip6_flowlabel *fl) fl_release() argument
112 fl->lastuse = jiffies; fl_release()
113 if (atomic_dec_and_test(&fl->users)) { fl_release()
114 unsigned long ttd = fl->lastuse + fl->linger; fl_release()
115 if (time_after(ttd, fl->expires)) fl_release()
116 fl->expires = ttd; fl_release()
117 ttd = fl->expires; fl_release()
118 if (fl->opt && fl->share == IPV6_FL_S_EXCL) { fl_release()
119 struct ipv6_txoptions *opt = fl->opt; fl_release()
120 fl->opt = NULL; fl_release()
139 struct ip6_flowlabel *fl; ip6_fl_gc() local
143 while ((fl = rcu_dereference_protected(*flp, ip6_fl_gc()
145 if (atomic_read(&fl->users) == 0) { ip6_fl_gc()
146 unsigned long ttd = fl->lastuse + fl->linger; ip6_fl_gc()
147 if (time_after(ttd, fl->expires)) ip6_fl_gc()
148 fl->expires = ttd; ip6_fl_gc()
149 ttd = fl->expires; ip6_fl_gc()
151 *flp = fl->next; ip6_fl_gc()
152 fl_free(fl); ip6_fl_gc()
159 flp = &fl->next; ip6_fl_gc()
176 struct ip6_flowlabel *fl; ip6_fl_purge() local
180 while ((fl = rcu_dereference_protected(*flp, ip6_fl_purge()
182 if (net_eq(fl->fl_net, net) && ip6_fl_purge()
183 atomic_read(&fl->users) == 0) { ip6_fl_purge()
184 *flp = fl->next; ip6_fl_purge()
185 fl_free(fl); ip6_fl_purge()
189 flp = &fl->next; ip6_fl_purge()
196 struct ip6_flowlabel *fl, __be32 label) fl_intern()
200 fl->label = label & IPV6_FLOWLABEL_MASK; fl_intern()
205 fl->label = htonl(prandom_u32())&IPV6_FLOWLABEL_MASK; fl_intern()
206 if (fl->label) { fl_intern()
207 lfl = __fl_lookup(net, fl->label); fl_intern()
221 lfl = __fl_lookup(net, fl->label); fl_intern()
229 fl->lastuse = jiffies; fl_intern()
230 fl->next = fl_ht[FL_HASH(fl->label)]; fl_intern()
231 rcu_assign_pointer(fl_ht[FL_HASH(fl->label)], fl); fl_intern()
250 struct ip6_flowlabel *fl = sfl->fl; for_each_sk_fl_rcu() local
251 if (fl->label == label) { for_each_sk_fl_rcu()
252 fl->lastuse = jiffies; for_each_sk_fl_rcu()
253 atomic_inc(&fl->users); for_each_sk_fl_rcu()
255 return fl; for_each_sk_fl_rcu()
277 fl_release(sfl->fl); fl6_free_socklist()
295 struct ip6_flowlabel *fl, fl6_merge_options()
298 struct ipv6_txoptions *fl_opt = fl->opt; fl6_merge_options()
331 static int fl6_renew(struct ip6_flowlabel *fl, unsigned long linger, unsigned long expires) fl6_renew() argument
341 fl->lastuse = jiffies; fl6_renew()
342 if (time_before(fl->linger, linger)) fl6_renew()
343 fl->linger = linger; fl6_renew()
344 if (time_before(expires, fl->linger)) fl6_renew()
345 expires = fl->linger; fl6_renew()
346 if (time_before(fl->expires, fl->lastuse + expires)) fl6_renew()
347 fl->expires = fl->lastuse + expires; fl6_renew()
357 struct ip6_flowlabel *fl = NULL; fl_create() local
368 fl = kzalloc(sizeof(*fl), GFP_KERNEL); fl_create()
369 if (!fl) fl_create()
378 fl->opt = kmalloc(sizeof(*fl->opt) + olen, GFP_KERNEL); fl_create()
379 if (!fl->opt) fl_create()
382 memset(fl->opt, 0, sizeof(*fl->opt)); fl_create()
383 fl->opt->tot_len = sizeof(*fl->opt) + olen; fl_create()
385 if (copy_from_user(fl->opt+1, optval+CMSG_ALIGN(sizeof(*freq)), olen)) fl_create()
389 msg.msg_control = (void *)(fl->opt+1); fl_create()
392 err = ip6_datagram_send_ctl(net, sk, &msg, &flowi6, fl->opt, fl_create()
397 if (fl->opt->opt_flen) fl_create()
399 if (fl->opt->opt_nflen == 0) { fl_create()
400 kfree(fl->opt); fl_create()
401 fl->opt = NULL; fl_create()
405 fl->fl_net = net; fl_create()
406 fl->expires = jiffies; fl_create()
407 err = fl6_renew(fl, freq->flr_linger, freq->flr_expires); fl_create()
410 fl->share = freq->flr_share; fl_create()
417 fl->dst = freq->flr_dst; fl_create()
418 atomic_set(&fl->users, 1); fl_create()
419 switch (fl->share) { fl_create()
424 fl->owner.pid = get_task_pid(current, PIDTYPE_PID); fl_create()
427 fl->owner.uid = current_euid(); fl_create()
433 return fl; fl_create()
436 fl_free(fl); fl_create()
466 struct ip6_flowlabel *fl) fl_link()
469 sfl->fl = fl; fl_link()
494 if (sfl->fl->label == (np->flow_label & IPV6_FLOWLABEL_MASK)) { for_each_sk_fl_rcu()
496 freq->flr_label = sfl->fl->label; for_each_sk_fl_rcu()
497 freq->flr_dst = sfl->fl->dst; for_each_sk_fl_rcu()
498 freq->flr_share = sfl->fl->share; for_each_sk_fl_rcu()
499 freq->flr_expires = (sfl->fl->expires - jiffies) / HZ; for_each_sk_fl_rcu()
500 freq->flr_linger = sfl->fl->linger / HZ; for_each_sk_fl_rcu()
521 struct ip6_flowlabel *fl, *fl1 = NULL; ipv6_flowlabel_opt() local
546 if (sfl->fl->label == freq.flr_label) { ipv6_flowlabel_opt()
551 fl_release(sfl->fl); ipv6_flowlabel_opt()
562 if (sfl->fl->label == freq.flr_label) { for_each_sk_fl_rcu()
563 err = fl6_renew(sfl->fl, freq.flr_linger, freq.flr_expires); for_each_sk_fl_rcu()
572 fl = fl_lookup(net, freq.flr_label);
573 if (fl) {
574 err = fl6_renew(fl, freq.flr_linger, freq.flr_expires);
575 fl_release(fl);
599 fl = fl_create(net, sk, &freq, optval, optlen, &err);
600 if (!fl)
608 if (sfl->fl->label == freq.flr_label) { for_each_sk_fl_rcu()
613 fl1 = sfl->fl; for_each_sk_fl_rcu()
629 fl1->share != fl->share ||
631 (fl1->owner.pid == fl->owner.pid)) ||
633 uid_eq(fl1->owner.uid, fl->owner.uid)))
639 if (fl->linger > fl1->linger)
640 fl1->linger = fl->linger;
641 if ((long)(fl->expires - fl1->expires) > 0)
642 fl1->expires = fl->expires;
644 fl_free(fl);
664 fl1 = fl_intern(net, fl, freq.flr_label);
670 &fl->label, sizeof(fl->label))) {
675 fl_link(np, sfl1, fl);
683 fl_free(fl);
700 struct ip6_flowlabel *fl = NULL; ip6fl_get_first() local
705 for_each_fl_rcu(state->bucket, fl) { ip6fl_get_first()
706 if (net_eq(fl->fl_net, net)) ip6fl_get_first()
710 fl = NULL; ip6fl_get_first()
712 return fl; ip6fl_get_first()
715 static struct ip6_flowlabel *ip6fl_get_next(struct seq_file *seq, struct ip6_flowlabel *fl) ip6fl_get_next() argument
720 for_each_fl_continue_rcu(fl) { for_each_fl_continue_rcu()
721 if (net_eq(fl->fl_net, net)) for_each_fl_continue_rcu()
727 for_each_fl_rcu(state->bucket, fl) {
728 if (net_eq(fl->fl_net, net))
733 fl = NULL;
736 return fl;
741 struct ip6_flowlabel *fl = ip6fl_get_first(seq); ip6fl_get_idx() local
742 if (fl) ip6fl_get_idx()
743 while (pos && (fl = ip6fl_get_next(seq, fl)) != NULL) ip6fl_get_idx()
745 return pos ? NULL : fl; ip6fl_get_idx()
757 struct ip6_flowlabel *fl; ip6fl_seq_next() local
760 fl = ip6fl_get_first(seq); ip6fl_seq_next()
762 fl = ip6fl_get_next(seq, v); ip6fl_seq_next()
764 return fl; ip6fl_seq_next()
779 struct ip6_flowlabel *fl = v; ip6fl_seq_show() local
782 (unsigned int)ntohl(fl->label), ip6fl_seq_show()
783 fl->share, ip6fl_seq_show()
784 ((fl->share == IPV6_FL_S_PROCESS) ? ip6fl_seq_show()
785 pid_nr_ns(fl->owner.pid, state->pid_ns) : ip6fl_seq_show()
786 ((fl->share == IPV6_FL_S_USER) ? ip6fl_seq_show()
787 from_kuid_munged(seq_user_ns(seq), fl->owner.uid) : ip6fl_seq_show()
789 atomic_read(&fl->users), ip6fl_seq_show()
790 fl->linger/HZ, ip6fl_seq_show()
791 (long)(fl->expires - jiffies)/HZ, ip6fl_seq_show()
792 &fl->dst, ip6fl_seq_show()
793 fl->opt ? fl->opt->opt_nflen : 0); ip6fl_seq_show()
195 fl_intern(struct net *net, struct ip6_flowlabel *fl, __be32 label) fl_intern() argument
294 fl6_merge_options(struct ipv6_txoptions *opt_space, struct ip6_flowlabel *fl, struct ipv6_txoptions *fopt) fl6_merge_options() argument
465 fl_link(struct ipv6_pinfo *np, struct ipv6_fl_socklist *sfl, struct ip6_flowlabel *fl) fl_link() argument
H A Dxfrm6_state.c24 __xfrm6_init_tempsel(struct xfrm_selector *sel, const struct flowi *fl) __xfrm6_init_tempsel() argument
26 const struct flowi6 *fl6 = &fl->u.ip6; __xfrm6_init_tempsel()
32 sel->dport = xfrm_flowi_dport(fl, &fl6->uli); __xfrm6_init_tempsel()
34 sel->sport = xfrm_flowi_sport(fl, &fl6->uli); __xfrm6_init_tempsel()
H A Dnetfilter.c112 struct flowi *fl, bool strict) nf_ip6_route()
124 result = ip6_route_output(net, sk, &fl->u.ip6); nf_ip6_route()
111 nf_ip6_route(struct net *net, struct dst_entry **dst, struct flowi *fl, bool strict) nf_ip6_route() argument
H A Dxfrm6_policy.c69 static int xfrm6_get_tos(const struct flowi *fl) xfrm6_get_tos() argument
96 const struct flowi *fl) xfrm6_fill_dst()
127 _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse) _decode_session6() argument
129 struct flowi6 *fl6 = &fl->u.ip6; _decode_session6()
95 xfrm6_fill_dst(struct xfrm_dst *xdst, struct net_device *dev, const struct flowi *fl) xfrm6_fill_dst() argument
H A Dip6_vti.c427 * @fl: the flow informations for the xfrm_lookup
430 vti6_xmit(struct sk_buff *skb, struct net_device *dev, struct flowi *fl) vti6_xmit() argument
444 dst = xfrm_lookup(t->net, dst, fl, NULL, 0); vti6_xmit()
513 struct flowi fl; vti6_tnl_xmit() local
516 memset(&fl, 0, sizeof(fl)); vti6_tnl_xmit()
526 xfrm_decode_session(skb, &fl, AF_INET6); vti6_tnl_xmit()
530 xfrm_decode_session(skb, &fl, AF_INET); vti6_tnl_xmit()
538 fl.flowi_mark = be32_to_cpu(t->parms.o_key); vti6_tnl_xmit()
540 ret = vti6_xmit(skb, dev, &fl); vti6_tnl_xmit()
H A Dmip6.c211 const struct flowi *fl) mip6_destopt_reject()
215 const struct flowi6 *fl6 = &fl->u.ip6; mip6_destopt_reject()
249 sel.dport = xfrm_flowi_dport(fl, &fl6->uli); mip6_destopt_reject()
252 sel.sport = xfrm_flowi_sport(fl, &fl6->uli); mip6_destopt_reject()
210 mip6_destopt_reject(struct xfrm_state *x, struct sk_buff *skb, const struct flowi *fl) mip6_destopt_reject() argument
H A Dfib6_rules.c150 static int fib6_rule_match(struct fib_rule *rule, struct flowi *fl, int flags) fib6_rule_match() argument
153 struct flowi6 *fl6 = &fl->u.ip6; fib6_rule_match()
H A Dip6_gre.c789 memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6)); ip6gre_xmit_ipv4()
839 memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6)); ip6gre_xmit_ipv6()
891 memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6)); ip6gre_xmit_other()
937 struct flowi6 *fl6 = &t->fl.u.ip6; ip6gre_tnl_link_config()
1186 t->fl.u.ip6.flowlabel, false)); ip6gre_header()
H A Dip6_output.c1207 cork->fl.u.ip6 = *fl6; ip6_setup_cork()
1570 fl6 = &inet->cork.fl.u.ip6; ip6_append_data()
1597 memset(&cork->fl, 0, sizeof(cork->fl)); ip6_cork_release()
1613 struct flowi6 *fl6 = &cork->fl.u.ip6; __ip6_make_skb()
H A Dip6_tunnel.c957 * @fl: flow of tunneled packet
1134 memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6)); ip4ip6_tnl_xmit()
1188 memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6)); ip6ip6_tnl_xmit()
1243 struct flowi6 *fl6 = &t->fl.u.ip6; ip6_tnl_link_config()
H A Dtcp_ipv6.c442 struct flowi *fl, tcp_v6_send_synack()
449 struct flowi6 *fl6 = &fl->u.ip6; tcp_v6_send_synack()
697 static struct dst_entry *tcp_v6_route_req(struct sock *sk, struct flowi *fl, tcp_v6_route_req() argument
703 return inet6_csk_route_req(sk, &fl->u.ip6, req); tcp_v6_route_req()
441 tcp_v6_send_synack(struct sock *sk, struct dst_entry *dst, struct flowi *fl, struct request_sock *req, u16 queue_mapping, struct tcp_fastopen_cookie *foc) tcp_v6_send_synack() argument
H A Dudp.c1087 fl6 = inet_sk(sk)->cork.fl.u.ip6; udp_v6_push_pending_frames()
/linux-4.1.27/fs/
H A Dlocks.c138 #define IS_POSIX(fl) (fl->fl_flags & FL_POSIX)
139 #define IS_FLOCK(fl) (fl->fl_flags & FL_FLOCK)
140 #define IS_LEASE(fl) (fl->fl_flags & (FL_LEASE|FL_DELEG|FL_LAYOUT))
141 #define IS_OFDLCK(fl) (fl->fl_flags & FL_OFDLCK)
143 static bool lease_breaking(struct file_lock *fl) lease_breaking() argument
145 return fl->fl_flags & (FL_UNLOCK_PENDING | FL_DOWNGRADE_PENDING); lease_breaking()
148 static int target_leasetype(struct file_lock *fl) target_leasetype() argument
150 if (fl->fl_flags & FL_UNLOCK_PENDING) target_leasetype()
152 if (fl->fl_flags & FL_DOWNGRADE_PENDING) target_leasetype()
154 return fl->fl_type; target_leasetype()
187 * In addition, it also protects the fl->fl_block list, and the fl->fl_next
243 static void locks_init_lock_heads(struct file_lock *fl) locks_init_lock_heads() argument
245 INIT_HLIST_NODE(&fl->fl_link); locks_init_lock_heads()
246 INIT_LIST_HEAD(&fl->fl_list); locks_init_lock_heads()
247 INIT_LIST_HEAD(&fl->fl_block); locks_init_lock_heads()
248 init_waitqueue_head(&fl->fl_wait); locks_init_lock_heads()
254 struct file_lock *fl = kmem_cache_zalloc(filelock_cache, GFP_KERNEL); locks_alloc_lock() local
256 if (fl) locks_alloc_lock()
257 locks_init_lock_heads(fl); locks_alloc_lock()
259 return fl; locks_alloc_lock()
263 void locks_release_private(struct file_lock *fl) locks_release_private() argument
265 if (fl->fl_ops) { locks_release_private()
266 if (fl->fl_ops->fl_release_private) locks_release_private()
267 fl->fl_ops->fl_release_private(fl); locks_release_private()
268 fl->fl_ops = NULL; locks_release_private()
271 if (fl->fl_lmops) { locks_release_private()
272 if (fl->fl_lmops->lm_put_owner) { locks_release_private()
273 fl->fl_lmops->lm_put_owner(fl->fl_owner); locks_release_private()
274 fl->fl_owner = NULL; locks_release_private()
276 fl->fl_lmops = NULL; locks_release_private()
282 void locks_free_lock(struct file_lock *fl) locks_free_lock() argument
284 BUG_ON(waitqueue_active(&fl->fl_wait)); locks_free_lock()
285 BUG_ON(!list_empty(&fl->fl_list)); locks_free_lock()
286 BUG_ON(!list_empty(&fl->fl_block)); locks_free_lock()
287 BUG_ON(!hlist_unhashed(&fl->fl_link)); locks_free_lock()
289 locks_release_private(fl); locks_free_lock()
290 kmem_cache_free(filelock_cache, fl); locks_free_lock()
297 struct file_lock *fl; locks_dispose_list() local
300 fl = list_first_entry(dispose, struct file_lock, fl_list); locks_dispose_list()
301 list_del_init(&fl->fl_list); locks_dispose_list()
302 locks_free_lock(fl); locks_dispose_list()
306 void locks_init_lock(struct file_lock *fl) locks_init_lock() argument
308 memset(fl, 0, sizeof(struct file_lock)); locks_init_lock()
309 locks_init_lock_heads(fl); locks_init_lock()
317 void locks_copy_conflock(struct file_lock *new, struct file_lock *fl) locks_copy_conflock() argument
319 new->fl_owner = fl->fl_owner; locks_copy_conflock()
320 new->fl_pid = fl->fl_pid; locks_copy_conflock()
322 new->fl_flags = fl->fl_flags; locks_copy_conflock()
323 new->fl_type = fl->fl_type; locks_copy_conflock()
324 new->fl_start = fl->fl_start; locks_copy_conflock()
325 new->fl_end = fl->fl_end; locks_copy_conflock()
326 new->fl_lmops = fl->fl_lmops; locks_copy_conflock()
329 if (fl->fl_lmops) { locks_copy_conflock()
330 if (fl->fl_lmops->lm_get_owner) locks_copy_conflock()
331 fl->fl_lmops->lm_get_owner(fl->fl_owner); locks_copy_conflock()
336 void locks_copy_lock(struct file_lock *new, struct file_lock *fl) locks_copy_lock() argument
341 locks_copy_conflock(new, fl); locks_copy_lock()
343 new->fl_file = fl->fl_file; locks_copy_lock()
344 new->fl_ops = fl->fl_ops; locks_copy_lock()
346 if (fl->fl_ops) { locks_copy_lock()
347 if (fl->fl_ops->fl_copy_lock) locks_copy_lock()
348 fl->fl_ops->fl_copy_lock(new, fl); locks_copy_lock()
372 struct file_lock *fl; flock_make_lock() local
378 fl = locks_alloc_lock(); flock_make_lock()
379 if (fl == NULL) flock_make_lock()
382 fl->fl_file = filp; flock_make_lock()
383 fl->fl_owner = filp; flock_make_lock()
384 fl->fl_pid = current->tgid; flock_make_lock()
385 fl->fl_flags = FL_FLOCK; flock_make_lock()
386 fl->fl_type = type; flock_make_lock()
387 fl->fl_end = OFFSET_MAX; flock_make_lock()
389 return fl; flock_make_lock()
392 static int assign_type(struct file_lock *fl, long type) assign_type() argument
398 fl->fl_type = type; assign_type()
406 static int flock64_to_posix_lock(struct file *filp, struct file_lock *fl, flock64_to_posix_lock() argument
411 fl->fl_start = 0; flock64_to_posix_lock()
414 fl->fl_start = filp->f_pos; flock64_to_posix_lock()
417 fl->fl_start = i_size_read(file_inode(filp)); flock64_to_posix_lock()
422 if (l->l_start > OFFSET_MAX - fl->fl_start) flock64_to_posix_lock()
424 fl->fl_start += l->l_start; flock64_to_posix_lock()
425 if (fl->fl_start < 0) flock64_to_posix_lock()
431 if (l->l_len - 1 > OFFSET_MAX - fl->fl_start) flock64_to_posix_lock()
433 fl->fl_end = fl->fl_start + l->l_len - 1; flock64_to_posix_lock()
436 if (fl->fl_start + l->l_len < 0) flock64_to_posix_lock()
438 fl->fl_end = fl->fl_start - 1; flock64_to_posix_lock()
439 fl->fl_start += l->l_len; flock64_to_posix_lock()
441 fl->fl_end = OFFSET_MAX; flock64_to_posix_lock()
443 fl->fl_owner = current->files; flock64_to_posix_lock()
444 fl->fl_pid = current->tgid; flock64_to_posix_lock()
445 fl->fl_file = filp; flock64_to_posix_lock()
446 fl->fl_flags = FL_POSIX; flock64_to_posix_lock()
447 fl->fl_ops = NULL; flock64_to_posix_lock()
448 fl->fl_lmops = NULL; flock64_to_posix_lock()
450 return assign_type(fl, l->l_type); flock64_to_posix_lock()
456 static int flock_to_posix_lock(struct file *filp, struct file_lock *fl, flock_to_posix_lock() argument
466 return flock64_to_posix_lock(filp, fl, &ll); flock_to_posix_lock()
471 lease_break_callback(struct file_lock *fl) lease_break_callback() argument
473 kill_fasync(&fl->fl_fasync, SIGIO, POLL_MSG); lease_break_callback()
478 lease_setup(struct file_lock *fl, void **priv) lease_setup() argument
480 struct file *filp = fl->fl_file; lease_setup()
488 if (!fasync_insert_entry(fa->fa_fd, filp, &fl->fl_fasync, fa)) lease_setup()
503 static int lease_init(struct file *filp, long type, struct file_lock *fl) lease_init() argument
505 if (assign_type(fl, type) != 0) lease_init()
508 fl->fl_owner = filp; lease_init()
509 fl->fl_pid = current->tgid; lease_init()
511 fl->fl_file = filp; lease_init()
512 fl->fl_flags = FL_LEASE; lease_init()
513 fl->fl_start = 0; lease_init()
514 fl->fl_end = OFFSET_MAX; lease_init()
515 fl->fl_ops = NULL; lease_init()
516 fl->fl_lmops = &lease_manager_ops; lease_init()
523 struct file_lock *fl = locks_alloc_lock(); lease_alloc() local
526 if (fl == NULL) lease_alloc()
529 error = lease_init(filp, type, fl); lease_alloc()
531 locks_free_lock(fl); lease_alloc()
534 return fl; lease_alloc()
557 static void locks_insert_global_locks(struct file_lock *fl) locks_insert_global_locks() argument
560 fl->fl_link_cpu = smp_processor_id(); locks_insert_global_locks()
561 hlist_add_head(&fl->fl_link, this_cpu_ptr(&file_lock_list)); locks_insert_global_locks()
566 static void locks_delete_global_locks(struct file_lock *fl) locks_delete_global_locks() argument
573 if (hlist_unhashed(&fl->fl_link)) locks_delete_global_locks()
575 lg_local_lock_cpu(&file_lock_lglock, fl->fl_link_cpu); locks_delete_global_locks()
576 hlist_del_init(&fl->fl_link); locks_delete_global_locks()
577 lg_local_unlock_cpu(&file_lock_lglock, fl->fl_link_cpu); locks_delete_global_locks()
581 posix_owner_key(struct file_lock *fl) posix_owner_key() argument
583 if (fl->fl_lmops && fl->fl_lmops->lm_owner_key) posix_owner_key()
584 return fl->fl_lmops->lm_owner_key(fl); posix_owner_key()
585 return (unsigned long)fl->fl_owner; posix_owner_key()
683 locks_insert_lock_ctx(struct file_lock *fl, struct list_head *before) locks_insert_lock_ctx() argument
685 fl->fl_nspid = get_pid(task_tgid(current)); locks_insert_lock_ctx()
686 list_add_tail(&fl->fl_list, before); locks_insert_lock_ctx()
687 locks_insert_global_locks(fl); locks_insert_lock_ctx()
691 locks_unlink_lock_ctx(struct file_lock *fl) locks_unlink_lock_ctx() argument
693 locks_delete_global_locks(fl); locks_unlink_lock_ctx()
694 list_del_init(&fl->fl_list); locks_unlink_lock_ctx()
695 if (fl->fl_nspid) { locks_unlink_lock_ctx()
696 put_pid(fl->fl_nspid); locks_unlink_lock_ctx()
697 fl->fl_nspid = NULL; locks_unlink_lock_ctx()
699 locks_wake_up_blocks(fl); locks_unlink_lock_ctx()
703 locks_delete_lock_ctx(struct file_lock *fl, struct list_head *dispose) locks_delete_lock_ctx() argument
705 locks_unlink_lock_ctx(fl); locks_delete_lock_ctx()
707 list_add(&fl->fl_list, dispose); locks_delete_lock_ctx()
709 locks_free_lock(fl); locks_delete_lock_ctx()
759 posix_test_lock(struct file *filp, struct file_lock *fl) posix_test_lock() argument
767 fl->fl_type = F_UNLCK; posix_test_lock()
773 if (posix_locks_conflict(fl, cfl)) { posix_test_lock()
774 locks_copy_conflock(fl, cfl); posix_test_lock()
776 fl->fl_pid = pid_vnr(cfl->fl_nspid); posix_test_lock()
780 fl->fl_type = F_UNLCK; posix_test_lock()
825 struct file_lock *fl; what_owner_is_waiting_for() local
827 hash_for_each_possible(blocked_hash, fl, fl_link, posix_owner_key(block_fl)) { hash_for_each_possible()
828 if (posix_same_owner(fl, block_fl)) hash_for_each_possible()
829 return fl->fl_next; hash_for_each_possible()
868 struct file_lock *fl; flock_lock_inode() local
891 list_for_each_entry(fl, &ctx->flc_flock, fl_list) { flock_lock_inode()
892 if (request->fl_file != fl->fl_file) flock_lock_inode()
894 if (request->fl_type == fl->fl_type) flock_lock_inode()
897 locks_delete_lock_ctx(fl, &dispose); flock_lock_inode()
908 list_for_each_entry(fl, &ctx->flc_flock, fl_list) { flock_lock_inode()
909 if (!flock_locks_conflict(request, fl)) flock_lock_inode()
915 locks_insert_block(fl, request); flock_lock_inode()
935 struct file_lock *fl, *tmp; __posix_lock_file() local
969 list_for_each_entry(fl, &ctx->flc_posix, fl_list) { __posix_lock_file()
970 if (!posix_locks_conflict(request, fl)) __posix_lock_file()
973 locks_copy_conflock(conflock, fl); __posix_lock_file()
983 if (likely(!posix_locks_deadlock(request, fl))) { __posix_lock_file()
985 __locks_insert_block(fl, request); __posix_lock_file()
998 list_for_each_entry(fl, &ctx->flc_posix, fl_list) { __posix_lock_file()
999 if (posix_same_owner(request, fl)) __posix_lock_file()
1004 list_for_each_entry_safe_from(fl, tmp, &ctx->flc_posix, fl_list) { __posix_lock_file()
1005 if (!posix_same_owner(request, fl)) __posix_lock_file()
1009 if (request->fl_type == fl->fl_type) { __posix_lock_file()
1014 if (fl->fl_end < request->fl_start - 1) __posix_lock_file()
1019 if (fl->fl_start - 1 > request->fl_end) __posix_lock_file()
1027 if (fl->fl_start > request->fl_start) __posix_lock_file()
1028 fl->fl_start = request->fl_start; __posix_lock_file()
1030 request->fl_start = fl->fl_start; __posix_lock_file()
1031 if (fl->fl_end < request->fl_end) __posix_lock_file()
1032 fl->fl_end = request->fl_end; __posix_lock_file()
1034 request->fl_end = fl->fl_end; __posix_lock_file()
1036 locks_delete_lock_ctx(fl, &dispose); __posix_lock_file()
1039 request = fl; __posix_lock_file()
1045 if (fl->fl_end < request->fl_start) __posix_lock_file()
1047 if (fl->fl_start > request->fl_end) __posix_lock_file()
1051 if (fl->fl_start < request->fl_start) __posix_lock_file()
1052 left = fl; __posix_lock_file()
1056 if (fl->fl_end > request->fl_end) { __posix_lock_file()
1057 right = fl; __posix_lock_file()
1060 if (fl->fl_start >= request->fl_start) { __posix_lock_file()
1065 locks_delete_lock_ctx(fl, &dispose); __posix_lock_file()
1081 locks_insert_lock_ctx(request, &fl->fl_list); __posix_lock_file()
1082 locks_delete_lock_ctx(fl, &dispose); __posix_lock_file()
1110 locks_insert_lock_ctx(new_fl, &fl->fl_list); __posix_lock_file()
1111 fl = new_fl; __posix_lock_file()
1122 locks_insert_lock_ctx(left, &fl->fl_list); __posix_lock_file()
1147 * @fl: The lock to be applied
1158 int posix_lock_file(struct file *filp, struct file_lock *fl, posix_lock_file() argument
1161 return __posix_lock_file(file_inode(filp), fl, conflock); posix_lock_file()
1168 * @fl: The lock to be applied
1173 int posix_lock_inode_wait(struct inode *inode, struct file_lock *fl) posix_lock_inode_wait() argument
1178 error = __posix_lock_file(inode, fl, NULL); posix_lock_inode_wait()
1181 error = wait_event_interruptible(fl->fl_wait, !fl->fl_next); posix_lock_inode_wait()
1185 locks_delete_block(fl); posix_lock_inode_wait()
1204 struct file_lock *fl; locks_mandatory_locked() local
1215 list_for_each_entry(fl, &ctx->flc_posix, fl_list) { locks_mandatory_locked()
1216 if (fl->fl_owner != current->files && locks_mandatory_locked()
1217 fl->fl_owner != file) { locks_mandatory_locked()
1243 struct file_lock fl; locks_mandatory_area() local
1247 locks_init_lock(&fl); locks_mandatory_area()
1248 fl.fl_pid = current->tgid; locks_mandatory_area()
1249 fl.fl_file = filp; locks_mandatory_area()
1250 fl.fl_flags = FL_POSIX | FL_ACCESS; locks_mandatory_area()
1253 fl.fl_type = (read_write == FLOCK_VERIFY_WRITE) ? F_WRLCK : F_RDLCK; locks_mandatory_area()
1254 fl.fl_start = offset; locks_mandatory_area()
1255 fl.fl_end = offset + count - 1; locks_mandatory_area()
1259 fl.fl_owner = filp; locks_mandatory_area()
1260 fl.fl_flags &= ~FL_SLEEP; locks_mandatory_area()
1261 error = __posix_lock_file(inode, &fl, NULL); locks_mandatory_area()
1267 fl.fl_flags |= FL_SLEEP; locks_mandatory_area()
1268 fl.fl_owner = current->files; locks_mandatory_area()
1269 error = __posix_lock_file(inode, &fl, NULL); locks_mandatory_area()
1272 error = wait_event_interruptible(fl.fl_wait, !fl.fl_next); locks_mandatory_area()
1282 locks_delete_block(&fl); locks_mandatory_area()
1291 static void lease_clear_pending(struct file_lock *fl, int arg) lease_clear_pending() argument
1295 fl->fl_flags &= ~FL_UNLOCK_PENDING; lease_clear_pending()
1298 fl->fl_flags &= ~FL_DOWNGRADE_PENDING; lease_clear_pending()
1303 int lease_modify(struct file_lock *fl, int arg, struct list_head *dispose) lease_modify() argument
1305 int error = assign_type(fl, arg); lease_modify()
1309 lease_clear_pending(fl, arg); lease_modify()
1310 locks_wake_up_blocks(fl); lease_modify()
1312 struct file *filp = fl->fl_file; lease_modify()
1316 fasync_helper(0, fl->fl_file, 0, &fl->fl_fasync); lease_modify()
1317 if (fl->fl_fasync != NULL) { lease_modify()
1318 printk(KERN_ERR "locks_delete_lock: fasync == %p\n", fl->fl_fasync); lease_modify()
1319 fl->fl_fasync = NULL; lease_modify()
1321 locks_delete_lock_ctx(fl, dispose); lease_modify()
1338 struct file_lock *fl, *tmp; time_out_leases() local
1342 list_for_each_entry_safe(fl, tmp, &ctx->flc_lease, fl_list) { time_out_leases()
1343 trace_time_out_leases(inode, fl); time_out_leases()
1344 if (past_time(fl->fl_downgrade_time)) time_out_leases()
1345 lease_modify(fl, F_RDLCK, dispose); time_out_leases()
1346 if (past_time(fl->fl_break_time)) time_out_leases()
1347 lease_modify(fl, F_UNLCK, dispose); time_out_leases()
1364 struct file_lock *fl; any_leases_conflict() local
1368 list_for_each_entry(fl, &ctx->flc_lease, fl_list) { any_leases_conflict()
1369 if (leases_conflict(fl, breaker)) any_leases_conflict()
1392 struct file_lock *new_fl, *fl, *tmp; __break_lease() local
1422 list_for_each_entry_safe(fl, tmp, &ctx->flc_lease, fl_list) { __break_lease()
1423 if (!leases_conflict(fl, new_fl)) __break_lease()
1426 if (fl->fl_flags & FL_UNLOCK_PENDING) __break_lease()
1428 fl->fl_flags |= FL_UNLOCK_PENDING; __break_lease()
1429 fl->fl_break_time = break_time; __break_lease()
1431 if (lease_breaking(fl)) __break_lease()
1433 fl->fl_flags |= FL_DOWNGRADE_PENDING; __break_lease()
1434 fl->fl_downgrade_time = break_time; __break_lease()
1436 if (fl->fl_lmops->lm_break(fl)) __break_lease()
1437 locks_delete_lock_ctx(fl, &dispose); __break_lease()
1450 fl = list_first_entry(&ctx->flc_lease, struct file_lock, fl_list); __break_lease()
1451 break_time = fl->fl_break_time; __break_lease()
1456 locks_insert_block(fl, new_fl); __break_lease()
1498 struct file_lock *fl; lease_get_mtime() local
1503 fl = list_first_entry(&ctx->flc_lease, lease_get_mtime()
1505 if (fl->fl_type == F_WRLCK) lease_get_mtime()
1544 struct file_lock *fl; fcntl_getlease() local
1553 list_for_each_entry(fl, &ctx->flc_lease, fl_list) { fcntl_getlease()
1554 if (fl->fl_file != filp) fcntl_getlease()
1556 type = target_leasetype(fl); fcntl_getlease()
1597 struct file_lock *fl, *my_fl = NULL, *lease; generic_add_lease() local
1646 list_for_each_entry(fl, &ctx->flc_lease, fl_list) { generic_add_lease()
1647 if (fl->fl_file == filp && generic_add_lease()
1648 fl->fl_owner == lease->fl_owner) { generic_add_lease()
1649 my_fl = fl; generic_add_lease()
1663 if (fl->fl_flags & FL_UNLOCK_PENDING) generic_add_lease()
1712 struct file_lock *fl, *victim = NULL; generic_delete_lease() local
1724 list_for_each_entry(fl, &ctx->flc_lease, fl_list) { generic_delete_lease()
1725 if (fl->fl_file == filp && generic_delete_lease()
1726 fl->fl_owner == owner) { generic_delete_lease()
1727 victim = fl; generic_delete_lease()
1733 error = fl->fl_lmops->lm_change(victim, F_UNLCK, &dispose); generic_delete_lease()
1811 struct file_lock *fl; do_fcntl_add_lease() local
1815 fl = lease_alloc(filp, arg); do_fcntl_add_lease()
1816 if (IS_ERR(fl)) do_fcntl_add_lease()
1817 return PTR_ERR(fl); do_fcntl_add_lease()
1821 locks_free_lock(fl); do_fcntl_add_lease()
1826 error = vfs_setlease(filp, arg, &fl, (void **)&new); do_fcntl_add_lease()
1827 if (fl) do_fcntl_add_lease()
1828 locks_free_lock(fl); do_fcntl_add_lease()
1854 * @fl: The lock to be applied
1858 int flock_lock_inode_wait(struct inode *inode, struct file_lock *fl) flock_lock_inode_wait() argument
1863 error = flock_lock_inode(inode, fl); flock_lock_inode_wait()
1866 error = wait_event_interruptible(fl->fl_wait, !fl->fl_next); flock_lock_inode_wait()
1870 locks_delete_block(fl); flock_lock_inode_wait()
1947 * @fl: The lock to test; also used to hold result
1952 int vfs_test_lock(struct file *filp, struct file_lock *fl) vfs_test_lock() argument
1955 return filp->f_op->lock(filp, F_GETLK, fl); vfs_test_lock()
1956 posix_test_lock(filp, fl); vfs_test_lock()
1961 static int posix_lock_to_flock(struct flock *flock, struct file_lock *fl) posix_lock_to_flock() argument
1963 flock->l_pid = IS_OFDLCK(fl) ? -1 : fl->fl_pid; posix_lock_to_flock()
1969 if (fl->fl_start > OFFT_OFFSET_MAX) posix_lock_to_flock()
1971 if (fl->fl_end != OFFSET_MAX && fl->fl_end > OFFT_OFFSET_MAX) posix_lock_to_flock()
1974 flock->l_start = fl->fl_start; posix_lock_to_flock()
1975 flock->l_len = fl->fl_end == OFFSET_MAX ? 0 : posix_lock_to_flock()
1976 fl->fl_end - fl->fl_start + 1; posix_lock_to_flock()
1978 flock->l_type = fl->fl_type; posix_lock_to_flock()
1983 static void posix_lock_to_flock64(struct flock64 *flock, struct file_lock *fl) posix_lock_to_flock64() argument
1985 flock->l_pid = IS_OFDLCK(fl) ? -1 : fl->fl_pid; posix_lock_to_flock64()
1986 flock->l_start = fl->fl_start; posix_lock_to_flock64()
1987 flock->l_len = fl->fl_end == OFFSET_MAX ? 0 : posix_lock_to_flock64()
1988 fl->fl_end - fl->fl_start + 1; posix_lock_to_flock64()
1990 flock->l_type = fl->fl_type; posix_lock_to_flock64()
2047 * @fl: The lock to be applied
2076 int vfs_lock_file(struct file *filp, unsigned int cmd, struct file_lock *fl, struct file_lock *conf) vfs_lock_file() argument
2079 return filp->f_op->lock(filp, cmd, fl); vfs_lock_file()
2081 return posix_lock_file(filp, fl, conf); vfs_lock_file()
2086 struct file_lock *fl) do_lock_file_wait()
2090 error = security_file_lock(filp, fl->fl_type); do_lock_file_wait()
2095 error = vfs_lock_file(filp, cmd, fl, NULL); do_lock_file_wait()
2098 error = wait_event_interruptible(fl->fl_wait, !fl->fl_next); do_lock_file_wait()
2102 locks_delete_block(fl); do_lock_file_wait()
2109 /* Ensure that fl->fl_filp has compatible f_mode for F_SETLK calls */
2111 check_fmode_for_setlk(struct file_lock *fl) check_fmode_for_setlk() argument
2113 switch (fl->fl_type) { check_fmode_for_setlk()
2115 if (!(fl->fl_file->f_mode & FMODE_READ)) check_fmode_for_setlk()
2119 if (!(fl->fl_file->f_mode & FMODE_WRITE)) check_fmode_for_setlk()
2402 struct file_lock fl = { locks_remove_flock() local
2417 filp->f_op->flock(filp, F_SETLKW, &fl); locks_remove_flock()
2419 flock_lock_inode(inode, &fl); locks_remove_flock()
2421 if (fl.fl_ops && fl.fl_ops->fl_release_private) locks_remove_flock()
2422 fl.fl_ops->fl_release_private(&fl); locks_remove_flock()
2431 struct file_lock *fl, *tmp; locks_remove_lease() local
2438 list_for_each_entry_safe(fl, tmp, &ctx->flc_lease, fl_list) locks_remove_lease()
2439 if (filp == fl->fl_file) locks_remove_lease()
2440 lease_modify(fl, F_UNLCK, &dispose); locks_remove_lease()
2487 * @fl: The lock to be unblocked
2491 int vfs_cancel_lock(struct file *filp, struct file_lock *fl) vfs_cancel_lock() argument
2494 return filp->f_op->lock(filp, F_CANCELLK, fl); vfs_cancel_lock()
2509 static void lock_get_status(struct seq_file *f, struct file_lock *fl, lock_get_status() argument
2515 if (fl->fl_nspid) lock_get_status()
2516 fl_pid = pid_vnr(fl->fl_nspid); lock_get_status()
2518 fl_pid = fl->fl_pid; lock_get_status()
2520 if (fl->fl_file != NULL) lock_get_status()
2521 inode = file_inode(fl->fl_file); lock_get_status()
2524 if (IS_POSIX(fl)) { lock_get_status()
2525 if (fl->fl_flags & FL_ACCESS) lock_get_status()
2527 else if (IS_OFDLCK(fl)) lock_get_status()
2535 } else if (IS_FLOCK(fl)) { lock_get_status()
2536 if (fl->fl_type & LOCK_MAND) { lock_get_status()
2541 } else if (IS_LEASE(fl)) { lock_get_status()
2542 if (fl->fl_flags & FL_DELEG) lock_get_status()
2547 if (lease_breaking(fl)) lock_get_status()
2549 else if (fl->fl_file) lock_get_status()
2556 if (fl->fl_type & LOCK_MAND) { lock_get_status()
2558 (fl->fl_type & LOCK_READ) lock_get_status()
2559 ? (fl->fl_type & LOCK_WRITE) ? "RW " : "READ " lock_get_status()
2560 : (fl->fl_type & LOCK_WRITE) ? "WRITE" : "NONE "); lock_get_status()
2563 (lease_breaking(fl)) lock_get_status()
2564 ? (fl->fl_type == F_UNLCK) ? "UNLCK" : "READ " lock_get_status()
2565 : (fl->fl_type == F_WRLCK) ? "WRITE" : "READ "); lock_get_status()
2575 if (IS_POSIX(fl)) { lock_get_status()
2576 if (fl->fl_end == OFFSET_MAX) lock_get_status()
2577 seq_printf(f, "%Ld EOF\n", fl->fl_start); lock_get_status()
2579 seq_printf(f, "%Ld %Ld\n", fl->fl_start, fl->fl_end); lock_get_status()
2588 struct file_lock *fl, *bfl; locks_show() local
2590 fl = hlist_entry(v, struct file_lock, fl_link); locks_show()
2592 lock_get_status(f, fl, iter->li_pos, ""); locks_show()
2594 list_for_each_entry(bfl, &fl->fl_block, fl_block) locks_show()
2604 struct file_lock *fl; __show_fd_locks() local
2606 list_for_each_entry(fl, head, fl_list) { list_for_each_entry()
2608 if (filp != fl->fl_file) list_for_each_entry()
2610 if (fl->fl_owner != files && list_for_each_entry()
2611 fl->fl_owner != filp) list_for_each_entry()
2616 lock_get_status(f, fl, *id, ""); list_for_each_entry()
2085 do_lock_file_wait(struct file *filp, unsigned int cmd, struct file_lock *fl) do_lock_file_wait() argument
H A Dread_write.c1163 int fl; do_sendfile() local
1215 fl = 0; do_sendfile()
1224 fl = SPLICE_F_NONBLOCK; do_sendfile()
1227 retval = do_splice_direct(in.file, &pos, out.file, &out_pos, count, fl); do_sendfile()
H A Dbinfmt_elf_fdpic.c1084 kdebug("mmap[%d] <file> sz=%lx pr=%x fl=%x of=%lx --> %08lx", elf_fdpic_map_file_by_direct_mmap()
1130 " ad=%lx sz=%lx pr=%x fl=%x of=0 --> %08lx", elf_fdpic_map_file_by_direct_mmap()
/linux-4.1.27/include/linux/
H A Ddlm_plock.h14 int cmd, struct file_lock *fl);
16 struct file_lock *fl);
18 struct file_lock *fl);
H A Dnetfilter.h264 struct flowi *fl, bool strict);
317 nf_nat_decode_session(struct sk_buff *skb, struct flowi *fl, u_int8_t family) nf_nat_decode_session() argument
325 decodefn(skb, fl); nf_nat_decode_session()
351 nf_nat_decode_session(struct sk_buff *skb, struct flowi *fl, u_int8_t family) nf_nat_decode_session() argument
H A Dfs.h1030 void locks_free_lock(struct file_lock *fl);
1044 extern int vfs_cancel_lock(struct file *filp, struct file_lock *fl);
1045 extern int flock_lock_inode_wait(struct inode *inode, struct file_lock *fl);
1095 static inline void locks_init_lock(struct file_lock *fl) locks_init_lock() argument
1100 static inline void locks_copy_conflock(struct file_lock *new, struct file_lock *fl) locks_copy_conflock() argument
1105 static inline void locks_copy_lock(struct file_lock *new, struct file_lock *fl) locks_copy_lock() argument
1120 static inline void posix_test_lock(struct file *filp, struct file_lock *fl) posix_test_lock() argument
1125 static inline int posix_lock_file(struct file *filp, struct file_lock *fl, posix_lock_file() argument
1132 struct file_lock *fl) posix_lock_inode_wait()
1142 static inline int vfs_test_lock(struct file *filp, struct file_lock *fl) vfs_test_lock() argument
1148 struct file_lock *fl, struct file_lock *conf) vfs_lock_file()
1153 static inline int vfs_cancel_lock(struct file *filp, struct file_lock *fl) vfs_cancel_lock() argument
1186 static inline int lease_modify(struct file_lock *fl, int arg, lease_modify() argument
1202 static inline int posix_lock_file_wait(struct file *filp, struct file_lock *fl) posix_lock_file_wait() argument
1204 return posix_lock_inode_wait(file_inode(filp), fl); posix_lock_file_wait()
1207 static inline int flock_lock_file_wait(struct file *filp, struct file_lock *fl) flock_lock_file_wait() argument
1209 return flock_lock_inode_wait(file_inode(filp), fl); flock_lock_file_wait()
1131 posix_lock_inode_wait(struct inode *inode, struct file_lock *fl) posix_lock_inode_wait() argument
1147 vfs_lock_file(struct file *filp, unsigned int cmd, struct file_lock *fl, struct file_lock *conf) vfs_lock_file() argument
H A Dnfs_xdr.h424 struct file_lock * fl; member in struct:nfs_lock_args
446 struct file_lock * fl; member in struct:nfs_locku_args
460 struct file_lock * fl; member in struct:nfs_lockt_args
H A Dsecurity.h1104 * @fl contains the flow to check for a match.
1712 void (*req_classify_flow) (const struct request_sock *req, struct flowi *fl);
1737 const struct flowi *fl);
2717 void security_sk_classify_flow(struct sock *sk, struct flowi *fl);
2718 void security_req_classify_flow(const struct request_sock *req, struct flowi *fl);
2858 static inline void security_sk_classify_flow(struct sock *sk, struct flowi *fl) security_sk_classify_flow() argument
2862 static inline void security_req_classify_flow(const struct request_sock *req, struct flowi *fl) security_req_classify_flow() argument
2944 const struct flowi *fl);
2946 void security_skb_classify_flow(struct sk_buff *skb, struct flowi *fl);
2998 struct xfrm_policy *xp, const struct flowi *fl) security_xfrm_state_pol_flow_match()
3008 static inline void security_skb_classify_flow(struct sk_buff *skb, struct flowi *fl) security_skb_classify_flow() argument
2997 security_xfrm_state_pol_flow_match(struct xfrm_state *x, struct xfrm_policy *xp, const struct flowi *fl) security_xfrm_state_pol_flow_match() argument
/linux-4.1.27/fs/lockd/
H A Dclntproc.c30 static void nlmclnt_locks_init_private(struct file_lock *fl, struct nlm_host *host);
124 static void nlmclnt_setlockargs(struct nlm_rqst *req, struct file_lock *fl) nlmclnt_setlockargs() argument
131 memcpy(&lock->fh, NFS_FH(file_inode(fl->fl_file)), sizeof(struct nfs_fh)); nlmclnt_setlockargs()
135 (unsigned int)fl->fl_u.nfs_fl.owner->pid, nlmclnt_setlockargs()
137 lock->svid = fl->fl_u.nfs_fl.owner->pid; nlmclnt_setlockargs()
138 lock->fl.fl_start = fl->fl_start; nlmclnt_setlockargs()
139 lock->fl.fl_end = fl->fl_end; nlmclnt_setlockargs()
140 lock->fl.fl_type = fl->fl_type; nlmclnt_setlockargs()
145 WARN_ON_ONCE(req->a_args.lock.fl.fl_ops != NULL); nlmclnt_release_lockargs()
152 * @fl: address of arguments for the lock operation
155 int nlmclnt_proc(struct nlm_host *host, int cmd, struct file_lock *fl) nlmclnt_proc() argument
164 nlmclnt_locks_init_private(fl, host); nlmclnt_proc()
165 if (!fl->fl_u.nfs_fl.owner) { nlmclnt_proc()
171 nlmclnt_setlockargs(call, fl); nlmclnt_proc()
174 if (fl->fl_type != F_UNLCK) { nlmclnt_proc()
176 status = nlmclnt_lock(call, fl); nlmclnt_proc()
178 status = nlmclnt_unlock(call, fl); nlmclnt_proc()
180 status = nlmclnt_test(call, fl); nlmclnt_proc()
183 fl->fl_ops->fl_release_private(fl); nlmclnt_proc()
184 fl->fl_ops = NULL; nlmclnt_proc()
202 locks_init_lock(&call->a_args.lock.fl); nlm_alloc_call()
203 locks_init_lock(&call->a_res.lock.fl); nlm_alloc_call()
416 nlmclnt_test(struct nlm_rqst *req, struct file_lock *fl) nlmclnt_test() argument
420 status = nlmclnt_call(nfs_file_cred(fl->fl_file), req, NLMPROC_TEST); nlmclnt_test()
426 fl->fl_type = F_UNLCK; nlmclnt_test()
432 fl->fl_start = req->a_res.lock.fl.fl_start; nlmclnt_test()
433 fl->fl_end = req->a_res.lock.fl.fl_end; nlmclnt_test()
434 fl->fl_type = req->a_res.lock.fl.fl_type; nlmclnt_test()
435 fl->fl_pid = 0; nlmclnt_test()
445 static void nlmclnt_locks_copy_lock(struct file_lock *new, struct file_lock *fl) nlmclnt_locks_copy_lock() argument
447 spin_lock(&fl->fl_u.nfs_fl.owner->host->h_lock); nlmclnt_locks_copy_lock()
448 new->fl_u.nfs_fl.state = fl->fl_u.nfs_fl.state; nlmclnt_locks_copy_lock()
449 new->fl_u.nfs_fl.owner = nlm_get_lockowner(fl->fl_u.nfs_fl.owner); nlmclnt_locks_copy_lock()
450 list_add_tail(&new->fl_u.nfs_fl.list, &fl->fl_u.nfs_fl.owner->host->h_granted); nlmclnt_locks_copy_lock()
451 spin_unlock(&fl->fl_u.nfs_fl.owner->host->h_lock); nlmclnt_locks_copy_lock()
454 static void nlmclnt_locks_release_private(struct file_lock *fl) nlmclnt_locks_release_private() argument
456 spin_lock(&fl->fl_u.nfs_fl.owner->host->h_lock); nlmclnt_locks_release_private()
457 list_del(&fl->fl_u.nfs_fl.list); nlmclnt_locks_release_private()
458 spin_unlock(&fl->fl_u.nfs_fl.owner->host->h_lock); nlmclnt_locks_release_private()
459 nlm_put_lockowner(fl->fl_u.nfs_fl.owner); nlmclnt_locks_release_private()
467 static void nlmclnt_locks_init_private(struct file_lock *fl, struct nlm_host *host) nlmclnt_locks_init_private() argument
469 fl->fl_u.nfs_fl.state = 0; nlmclnt_locks_init_private()
470 fl->fl_u.nfs_fl.owner = nlm_find_lockowner(host, fl->fl_owner); nlmclnt_locks_init_private()
471 INIT_LIST_HEAD(&fl->fl_u.nfs_fl.list); nlmclnt_locks_init_private()
472 fl->fl_ops = &nlmclnt_lock_ops; nlmclnt_locks_init_private()
475 static int do_vfs_lock(struct file_lock *fl) do_vfs_lock() argument
478 switch (fl->fl_flags & (FL_POSIX|FL_FLOCK)) { do_vfs_lock()
480 res = posix_lock_file_wait(fl->fl_file, fl); do_vfs_lock()
483 res = flock_lock_file_wait(fl->fl_file, fl); do_vfs_lock()
512 nlmclnt_lock(struct nlm_rqst *req, struct file_lock *fl) nlmclnt_lock() argument
514 struct rpc_cred *cred = nfs_file_cred(fl->fl_file); nlmclnt_lock()
518 unsigned char fl_flags = fl->fl_flags; nlmclnt_lock()
526 fl->fl_flags |= FL_ACCESS; nlmclnt_lock()
527 status = do_vfs_lock(fl); nlmclnt_lock()
528 fl->fl_flags = fl_flags; nlmclnt_lock()
532 block = nlmclnt_prepare_block(host, fl); nlmclnt_lock()
541 fl->fl_u.nfs_fl.state = host->h_state; nlmclnt_lock()
564 if (nlmclnt_cancel(host, req->a_args.block, fl) == 0) nlmclnt_lock()
571 if (fl->fl_u.nfs_fl.state != host->h_state) { nlmclnt_lock()
576 fl->fl_flags |= FL_SLEEP; nlmclnt_lock()
577 if (do_vfs_lock(fl) < 0) nlmclnt_lock()
580 fl->fl_flags = fl_flags; nlmclnt_lock()
604 fl_type = fl->fl_type; nlmclnt_lock()
605 fl->fl_type = F_UNLCK; nlmclnt_lock()
607 do_vfs_lock(fl); nlmclnt_lock()
609 fl->fl_type = fl_type; nlmclnt_lock()
610 fl->fl_flags = fl_flags; nlmclnt_lock()
619 nlmclnt_reclaim(struct nlm_host *host, struct file_lock *fl, nlmclnt_reclaim() argument
625 locks_init_lock(&req->a_args.lock.fl); nlmclnt_reclaim()
626 locks_init_lock(&req->a_res.lock.fl); nlmclnt_reclaim()
630 nlmclnt_setlockargs(req, fl); nlmclnt_reclaim()
633 status = nlmclnt_call(nfs_file_cred(fl->fl_file), req, NLMPROC_LOCK); nlmclnt_reclaim()
638 "(errno %d, status %d)\n", fl->fl_pid, nlmclnt_reclaim()
660 nlmclnt_unlock(struct nlm_rqst *req, struct file_lock *fl) nlmclnt_unlock() argument
665 unsigned char fl_flags = fl->fl_flags; nlmclnt_unlock()
672 fl->fl_flags |= FL_EXISTS; nlmclnt_unlock()
674 status = do_vfs_lock(fl); nlmclnt_unlock()
676 fl->fl_flags = fl_flags; nlmclnt_unlock()
683 status = nlmclnt_async_call(nfs_file_cred(fl->fl_file), req, nlmclnt_unlock()
743 static int nlmclnt_cancel(struct nlm_host *host, int block, struct file_lock *fl) nlmclnt_cancel() argument
756 nlmclnt_setlockargs(req, fl); nlmclnt_cancel()
760 status = nlmclnt_async_call(nfs_file_cred(fl->fl_file), req, nlmclnt_cancel()
H A Dxdr4.c108 struct file_lock *fl = &lock->fl; nlm4_decode_lock() local
119 locks_init_lock(fl); nlm4_decode_lock()
120 fl->fl_owner = current->files; nlm4_decode_lock()
121 fl->fl_pid = (pid_t)lock->svid; nlm4_decode_lock()
122 fl->fl_flags = FL_POSIX; nlm4_decode_lock()
123 fl->fl_type = F_RDLCK; /* as good as anything else */ nlm4_decode_lock()
128 fl->fl_start = s64_to_loff_t(start); nlm4_decode_lock()
131 fl->fl_end = OFFSET_MAX; nlm4_decode_lock()
133 fl->fl_end = s64_to_loff_t(end); nlm4_decode_lock()
151 struct file_lock *fl = &resp->lock.fl; nlm4_encode_testres() local
153 *p++ = (fl->fl_type == F_RDLCK)? xdr_zero : xdr_one; nlm4_encode_testres()
160 start = loff_t_to_s64(fl->fl_start); nlm4_encode_testres()
161 if (fl->fl_end == OFFSET_MAX) nlm4_encode_testres()
164 len = loff_t_to_s64(fl->fl_end - fl->fl_start + 1); nlm4_encode_testres()
169 resp->status, (int)resp->lock.svid, fl->fl_type, nlm4_encode_testres()
170 (long long)fl->fl_start, (long long)fl->fl_end); nlm4_encode_testres()
193 argp->lock.fl.fl_type = F_WRLCK; nlm4svc_decode_testargs()
218 argp->lock.fl.fl_type = F_WRLCK; nlm4svc_decode_lockargs()
238 argp->lock.fl.fl_type = F_WRLCK; nlm4svc_decode_cancargs()
248 argp->lock.fl.fl_type = F_UNLCK; nlm4svc_decode_unlockargs()
258 locks_init_lock(&lock->fl); nlm4svc_decode_shareargs()
260 lock->fl.fl_pid = (pid_t)lock->svid; nlm4svc_decode_shareargs()
H A Dxdr.c116 struct file_lock *fl = &lock->fl; nlm_decode_lock() local
127 locks_init_lock(fl); nlm_decode_lock()
128 fl->fl_owner = current->files; nlm_decode_lock()
129 fl->fl_pid = (pid_t)lock->svid; nlm_decode_lock()
130 fl->fl_flags = FL_POSIX; nlm_decode_lock()
131 fl->fl_type = F_RDLCK; /* as good as anything else */ nlm_decode_lock()
136 fl->fl_start = s32_to_loff_t(start); nlm_decode_lock()
139 fl->fl_end = OFFSET_MAX; nlm_decode_lock()
141 fl->fl_end = s32_to_loff_t(end); nlm_decode_lock()
158 struct file_lock *fl = &resp->lock.fl; nlm_encode_testres() local
160 *p++ = (fl->fl_type == F_RDLCK)? xdr_zero : xdr_one; nlm_encode_testres()
167 start = loff_t_to_s32(fl->fl_start); nlm_encode_testres()
168 if (fl->fl_end == OFFSET_MAX) nlm_encode_testres()
171 len = loff_t_to_s32(fl->fl_end - fl->fl_start + 1); nlm_encode_testres()
196 argp->lock.fl.fl_type = F_WRLCK; nlmsvc_decode_testargs()
221 argp->lock.fl.fl_type = F_WRLCK; nlmsvc_decode_lockargs()
241 argp->lock.fl.fl_type = F_WRLCK; nlmsvc_decode_cancargs()
251 argp->lock.fl.fl_type = F_UNLCK; nlmsvc_decode_unlockargs()
261 locks_init_lock(&lock->fl); nlmsvc_decode_shareargs()
263 lock->fl.fl_pid = (pid_t)lock->svid; nlmsvc_decode_shareargs()
H A Dsvclock.c147 struct file_lock *fl; nlmsvc_lookup_block() local
150 file, lock->fl.fl_pid, nlmsvc_lookup_block()
151 (long long)lock->fl.fl_start, nlmsvc_lookup_block()
152 (long long)lock->fl.fl_end, lock->fl.fl_type); nlmsvc_lookup_block()
154 fl = &block->b_call->a_args.lock.fl; nlmsvc_lookup_block()
156 block->b_file, fl->fl_pid, nlmsvc_lookup_block()
157 (long long)fl->fl_start, nlmsvc_lookup_block()
158 (long long)fl->fl_end, fl->fl_type, nlmsvc_lookup_block()
160 if (block->b_file == file && nlm_compare_locks(fl, &lock->fl)) { nlmsvc_lookup_block()
238 call->a_args.lock.fl.fl_flags |= FL_SLEEP; nlmsvc_create_block()
239 call->a_args.lock.fl.fl_lmops = &nlmsvc_lock_operations; nlmsvc_create_block()
278 status = posix_unblock_lock(&block->b_call->a_args.lock.fl); nlmsvc_unlink_block()
340 locks_copy_lock(&call->a_args.lock.fl, &lock->fl); nlmsvc_setgrantargs()
347 call->a_args.lock.svid = lock->fl.fl_pid; nlmsvc_setgrantargs()
365 locks_release_private(&call->a_args.lock.fl); nlmsvc_freegrantargs()
409 lock->fl.fl_type, lock->fl.fl_pid, nlmsvc_lock()
410 (long long)lock->fl.fl_start, nlmsvc_lock()
411 (long long)lock->fl.fl_end, nlmsvc_lock()
427 lock->fl.fl_flags &= ~FL_SLEEP; nlmsvc_lock()
456 lock->fl.fl_flags &= ~FL_SLEEP; nlmsvc_lock()
457 error = vfs_lock_file(file->f_file, F_SETLK, &lock->fl, NULL); nlmsvc_lock()
458 lock->fl.fl_flags &= ~FL_SLEEP; nlmsvc_lock()
515 lock->fl.fl_type, nlmsvc_testlock()
516 (long long)lock->fl.fl_start, nlmsvc_testlock()
517 (long long)lock->fl.fl_end); nlmsvc_testlock()
524 error = vfs_test_lock(file->f_file, &lock->fl); nlmsvc_testlock()
534 if (lock->fl.fl_type == F_UNLCK) { nlmsvc_testlock()
540 lock->fl.fl_type, (long long)lock->fl.fl_start, nlmsvc_testlock()
541 (long long)lock->fl.fl_end); nlmsvc_testlock()
545 conflock->svid = lock->fl.fl_pid; nlmsvc_testlock()
546 conflock->fl.fl_type = lock->fl.fl_type; nlmsvc_testlock()
547 conflock->fl.fl_start = lock->fl.fl_start; nlmsvc_testlock()
548 conflock->fl.fl_end = lock->fl.fl_end; nlmsvc_testlock()
549 locks_release_private(&lock->fl); nlmsvc_testlock()
570 lock->fl.fl_pid, nlmsvc_unlock()
571 (long long)lock->fl.fl_start, nlmsvc_unlock()
572 (long long)lock->fl.fl_end); nlmsvc_unlock()
577 lock->fl.fl_type = F_UNLCK; nlmsvc_unlock()
578 error = vfs_lock_file(file->f_file, F_SETLK, &lock->fl, NULL); nlmsvc_unlock()
599 lock->fl.fl_pid, nlmsvc_cancel_blocked()
600 (long long)lock->fl.fl_start, nlmsvc_cancel_blocked()
601 (long long)lock->fl.fl_end); nlmsvc_cancel_blocked()
611 &block->b_call->a_args.lock.fl); nlmsvc_cancel_blocked()
637 static int nlmsvc_grant_deferred(struct file_lock *fl, int result) nlmsvc_grant_deferred() argument
644 if (nlm_compare_locks(&block->b_call->a_args.lock.fl, fl)) { nlmsvc_grant_deferred()
676 nlmsvc_notify_blocked(struct file_lock *fl) nlmsvc_notify_blocked() argument
680 dprintk("lockd: VFS unblock notification for block %p\n", fl); nlmsvc_notify_blocked()
683 if (nlm_compare_locks(&block->b_call->a_args.lock.fl, fl)) { nlmsvc_notify_blocked()
705 nlmsvc_owner_key(struct file_lock *fl) nlmsvc_owner_key() argument
707 return (unsigned long)fl->fl_owner ^ (unsigned long)fl->fl_pid; nlmsvc_owner_key()
755 lock->fl.fl_flags |= FL_SLEEP; nlmsvc_grant_blocked()
756 fl_start = lock->fl.fl_start; nlmsvc_grant_blocked()
757 fl_end = lock->fl.fl_end; nlmsvc_grant_blocked()
758 error = vfs_lock_file(file->f_file, F_SETLK, &lock->fl, NULL); nlmsvc_grant_blocked()
759 lock->fl.fl_flags &= ~FL_SLEEP; nlmsvc_grant_blocked()
760 lock->fl.fl_start = fl_start; nlmsvc_grant_blocked()
761 lock->fl.fl_end = fl_end; nlmsvc_grant_blocked()
H A Dclntlock.c98 struct nlm_wait *nlmclnt_prepare_block(struct nlm_host *host, struct file_lock *fl) nlmclnt_prepare_block() argument
105 block->b_lock = fl; nlmclnt_prepare_block()
164 const struct file_lock *fl = &lock->fl; nlmclnt_grant() local
177 if (fl_blocked->fl_start != fl->fl_start) nlmclnt_grant()
179 if (fl_blocked->fl_end != fl->fl_end) nlmclnt_grant()
232 struct file_lock *fl, *next; reclaimer() local
262 list_for_each_entry_safe(fl, next, &host->h_reclaim, fl_u.nfs_fl.list) { reclaimer()
263 list_del_init(&fl->fl_u.nfs_fl.list); reclaimer()
273 if (nlmclnt_reclaim(host, fl, req) != 0) reclaimer()
275 list_add_tail(&fl->fl_u.nfs_fl.list, &host->h_granted); reclaimer()
H A Dclnt4xdr.c67 const struct file_lock *fl = &lock->fl; nlm4_compute_offsets() local
69 *l_offset = loff_t_to_s64(fl->fl_start); nlm4_compute_offsets()
70 if (fl->fl_end == OFFSET_MAX) nlm4_compute_offsets()
73 *l_len = loff_t_to_s64(fl->fl_end - fl->fl_start + 1); nlm4_compute_offsets()
268 encode_bool(xdr, lock->fl.fl_type == F_RDLCK); encode_nlm4_holder()
281 struct file_lock *fl = &lock->fl; decode_nlm4_holder() local
289 locks_init_lock(fl); decode_nlm4_holder()
296 fl->fl_pid = (pid_t)lock->svid; decode_nlm4_holder()
306 fl->fl_flags = FL_POSIX; decode_nlm4_holder()
307 fl->fl_type = exclusive != 0 ? F_WRLCK : F_RDLCK; decode_nlm4_holder()
312 fl->fl_start = (loff_t)l_offset; decode_nlm4_holder()
314 fl->fl_end = OFFSET_MAX; decode_nlm4_holder()
316 fl->fl_end = (loff_t)end; decode_nlm4_holder()
389 encode_bool(xdr, lock->fl.fl_type == F_WRLCK); nlm4_xdr_enc_testargs()
411 encode_bool(xdr, lock->fl.fl_type == F_WRLCK); nlm4_xdr_enc_lockargs()
433 encode_bool(xdr, lock->fl.fl_type == F_WRLCK); nlm4_xdr_enc_cancargs()
H A Dclntxdr.c63 const struct file_lock *fl = &lock->fl; nlm_compute_offsets() local
65 *l_offset = loff_t_to_s32(fl->fl_start); nlm_compute_offsets()
66 if (fl->fl_end == OFFSET_MAX) nlm_compute_offsets()
69 *l_len = loff_t_to_s32(fl->fl_end - fl->fl_start + 1); nlm_compute_offsets()
263 encode_bool(xdr, lock->fl.fl_type == F_RDLCK); encode_nlm_holder()
276 struct file_lock *fl = &lock->fl; decode_nlm_holder() local
283 locks_init_lock(fl); decode_nlm_holder()
290 fl->fl_pid = (pid_t)lock->svid; decode_nlm_holder()
300 fl->fl_flags = FL_POSIX; decode_nlm_holder()
301 fl->fl_type = exclusive != 0 ? F_WRLCK : F_RDLCK; decode_nlm_holder()
306 fl->fl_start = (loff_t)l_offset; decode_nlm_holder()
308 fl->fl_end = OFFSET_MAX; decode_nlm_holder()
310 fl->fl_end = (loff_t)end; decode_nlm_holder()
382 encode_bool(xdr, lock->fl.fl_type == F_WRLCK); nlm_xdr_enc_testargs()
404 encode_bool(xdr, lock->fl.fl_type == F_WRLCK); nlm_xdr_enc_lockargs()
426 encode_bool(xdr, lock->fl.fl_type == F_WRLCK); nlm_xdr_enc_cancargs()
H A Dsvcsubs.c166 struct file_lock *fl; nlm_traverse_locks() local
175 list_for_each_entry(fl, &flctx->flc_posix, fl_list) { nlm_traverse_locks()
176 if (fl->fl_lmops != &nlmsvc_lock_operations) nlm_traverse_locks()
182 lockhost = (struct nlm_host *) fl->fl_owner; nlm_traverse_locks()
184 struct file_lock lock = *fl; nlm_traverse_locks()
228 struct file_lock *fl; nlm_file_inuse() local
236 list_for_each_entry(fl, &flctx->flc_posix, fl_list) { nlm_file_inuse()
237 if (fl->fl_lmops == &nlmsvc_lock_operations) { nlm_file_inuse()
H A Dsvc4proc.c47 lock->fl.fl_file = file->f_file; nlm4svc_retrieve_args()
48 lock->fl.fl_owner = (fl_owner_t) host; nlm4svc_retrieve_args()
49 lock->fl.fl_lmops = &nlmsvc_lock_operations; nlm4svc_retrieve_args()
H A Dsvcproc.c77 lock->fl.fl_file = file->f_file; nlmsvc_retrieve_args()
78 lock->fl.fl_owner = (fl_owner_t) host; nlmsvc_retrieve_args()
79 lock->fl.fl_lmops = &nlmsvc_lock_operations; nlmsvc_retrieve_args()
/linux-4.1.27/fs/ocfs2/
H A Dlocks.c39 int cmd, struct file_lock *fl) ocfs2_do_flock()
45 if (fl->fl_type == F_WRLCK) ocfs2_do_flock()
84 ret = flock_lock_file_wait(file, fl); ocfs2_do_flock()
94 static int ocfs2_do_funlock(struct file *file, int cmd, struct file_lock *fl) ocfs2_do_funlock() argument
101 ret = flock_lock_file_wait(file, fl); ocfs2_do_funlock()
110 int ocfs2_flock(struct file *file, int cmd, struct file_lock *fl) ocfs2_flock() argument
115 if (!(fl->fl_flags & FL_FLOCK)) ocfs2_flock()
122 return flock_lock_file_wait(file, fl); ocfs2_flock()
124 if (fl->fl_type == F_UNLCK) ocfs2_flock()
125 return ocfs2_do_funlock(file, cmd, fl); ocfs2_flock()
127 return ocfs2_do_flock(file, inode, cmd, fl); ocfs2_flock()
130 int ocfs2_lock(struct file *file, int cmd, struct file_lock *fl) ocfs2_lock() argument
135 if (!(fl->fl_flags & FL_POSIX)) ocfs2_lock()
137 if (__mandatory_lock(inode) && fl->fl_type != F_UNLCK) ocfs2_lock()
140 return ocfs2_plock(osb->cconn, OCFS2_I(inode)->ip_blkno, file, cmd, fl); ocfs2_lock()
38 ocfs2_do_flock(struct file *file, struct inode *inode, int cmd, struct file_lock *fl) ocfs2_do_flock() argument
H A Dlocks.h29 int ocfs2_flock(struct file *file, int cmd, struct file_lock *fl);
30 int ocfs2_lock(struct file *file, int cmd, struct file_lock *fl);
H A Dstackglue.h220 struct file_lock *fl);
292 struct file *file, int cmd, struct file_lock *fl);
H A Dstack_user.c755 struct file_lock *fl) user_plock()
771 fl->fl_type = F_UNLCK; user_plock()
775 return dlm_posix_get(conn->cc_lockspace, ino, file, fl); user_plock()
776 else if (fl->fl_type == F_UNLCK) user_plock()
777 return dlm_posix_unlock(conn->cc_lockspace, ino, file, fl); user_plock()
779 return dlm_posix_lock(conn->cc_lockspace, ino, file, cmd, fl); user_plock()
751 user_plock(struct ocfs2_cluster_connection *conn, u64 ino, struct file *file, int cmd, struct file_lock *fl) user_plock() argument
H A Dalloc.c6473 struct ocfs2_per_slot_free_list *fl; ocfs2_run_deallocs() local
6479 fl = ctxt->c_first_suballocator; ocfs2_run_deallocs()
6481 if (fl->f_first) { ocfs2_run_deallocs()
6482 trace_ocfs2_run_deallocs(fl->f_inode_type, ocfs2_run_deallocs()
6483 fl->f_slot); ocfs2_run_deallocs()
6485 fl->f_inode_type, ocfs2_run_deallocs()
6486 fl->f_slot, ocfs2_run_deallocs()
6487 fl->f_first); ocfs2_run_deallocs()
6494 ctxt->c_first_suballocator = fl->f_next_suballocator; ocfs2_run_deallocs()
6495 kfree(fl); ocfs2_run_deallocs()
6517 struct ocfs2_per_slot_free_list *fl = ctxt->c_first_suballocator; ocfs2_find_per_slot_free_list() local
6519 while (fl) { ocfs2_find_per_slot_free_list()
6520 if (fl->f_inode_type == type && fl->f_slot == slot) ocfs2_find_per_slot_free_list()
6521 return fl; ocfs2_find_per_slot_free_list()
6523 fl = fl->f_next_suballocator; ocfs2_find_per_slot_free_list()
6526 fl = kmalloc(sizeof(*fl), GFP_NOFS); ocfs2_find_per_slot_free_list()
6527 if (fl) { ocfs2_find_per_slot_free_list()
6528 fl->f_inode_type = type; ocfs2_find_per_slot_free_list()
6529 fl->f_slot = slot; ocfs2_find_per_slot_free_list()
6530 fl->f_first = NULL; ocfs2_find_per_slot_free_list()
6531 fl->f_next_suballocator = ctxt->c_first_suballocator; ocfs2_find_per_slot_free_list()
6533 ctxt->c_first_suballocator = fl; ocfs2_find_per_slot_free_list()
6535 return fl; ocfs2_find_per_slot_free_list()
6543 struct ocfs2_per_slot_free_list *fl; ocfs2_cache_block_dealloc() local
6546 fl = ocfs2_find_per_slot_free_list(type, slot, ctxt); ocfs2_cache_block_dealloc()
6547 if (fl == NULL) { ocfs2_cache_block_dealloc()
6567 item->free_next = fl->f_first; ocfs2_cache_block_dealloc()
6569 fl->f_first = item; ocfs2_cache_block_dealloc()
H A Dstackglue.c302 struct file *file, int cmd, struct file_lock *fl) ocfs2_plock()
306 return active_stack->sp_ops->plock(conn, ino, file, cmd, fl); ocfs2_plock()
301 ocfs2_plock(struct ocfs2_cluster_connection *conn, u64 ino, struct file *file, int cmd, struct file_lock *fl) ocfs2_plock() argument
/linux-4.1.27/fs/dlm/
H A Dplock.c33 int (*callback)(struct file_lock *fl, int result);
34 void *fl; member in struct:plock_xop
81 struct file *file, struct file_lock *fl) do_unlock_close()
90 op->info.pid = fl->fl_pid; do_unlock_close()
95 if (fl->fl_lmops && fl->fl_lmops->lm_grant) do_unlock_close()
96 op->info.owner = (__u64) fl->fl_pid; do_unlock_close()
98 op->info.owner = (__u64)(long) fl->fl_owner; do_unlock_close()
105 int cmd, struct file_lock *fl) dlm_posix_lock()
124 op->info.pid = fl->fl_pid; dlm_posix_lock()
125 op->info.ex = (fl->fl_type == F_WRLCK); dlm_posix_lock()
129 op->info.start = fl->fl_start; dlm_posix_lock()
130 op->info.end = fl->fl_end; dlm_posix_lock()
131 if (fl->fl_lmops && fl->fl_lmops->lm_grant) { dlm_posix_lock()
134 op->info.owner = (__u64) fl->fl_pid; dlm_posix_lock()
135 xop->callback = fl->fl_lmops->lm_grant; dlm_posix_lock()
137 locks_copy_lock(&xop->flc, fl); dlm_posix_lock()
138 xop->fl = fl; dlm_posix_lock()
141 op->info.owner = (__u64)(long) fl->fl_owner; dlm_posix_lock()
156 do_unlock_close(ls, number, file, fl); dlm_posix_lock()
175 if (posix_lock_file_wait(file, fl) < 0) dlm_posix_lock()
191 struct file_lock *fl; dlm_plock_callback() local
193 int (*notify)(struct file_lock *fl, int result) = NULL; dlm_plock_callback()
208 fl = xop->fl; dlm_plock_callback()
212 notify(fl, op->info.rv); dlm_plock_callback()
227 log_print("dlm_plock_callback: vfs lock error %llx file %p fl %p", dlm_plock_callback()
228 (unsigned long long)op->info.number, file, fl); dlm_plock_callback()
231 rv = notify(fl, 0); dlm_plock_callback()
245 struct file_lock *fl) dlm_posix_unlock()
250 unsigned char fl_flags = fl->fl_flags; dlm_posix_unlock()
263 fl->fl_flags |= FL_EXISTS; dlm_posix_unlock()
265 rv = posix_lock_file_wait(file, fl); dlm_posix_unlock()
276 op->info.pid = fl->fl_pid; dlm_posix_unlock()
279 op->info.start = fl->fl_start; dlm_posix_unlock()
280 op->info.end = fl->fl_end; dlm_posix_unlock()
281 if (fl->fl_lmops && fl->fl_lmops->lm_grant) dlm_posix_unlock()
282 op->info.owner = (__u64) fl->fl_pid; dlm_posix_unlock()
284 op->info.owner = (__u64)(long) fl->fl_owner; dlm_posix_unlock()
286 if (fl->fl_flags & FL_CLOSE) { dlm_posix_unlock()
313 fl->fl_flags = fl_flags; dlm_posix_unlock()
319 struct file_lock *fl) dlm_posix_get()
336 op->info.pid = fl->fl_pid; dlm_posix_get()
337 op->info.ex = (fl->fl_type == F_WRLCK); dlm_posix_get()
340 op->info.start = fl->fl_start; dlm_posix_get()
341 op->info.end = fl->fl_end; dlm_posix_get()
342 if (fl->fl_lmops && fl->fl_lmops->lm_grant) dlm_posix_get()
343 op->info.owner = (__u64) fl->fl_pid; dlm_posix_get()
345 op->info.owner = (__u64)(long) fl->fl_owner; dlm_posix_get()
363 fl->fl_type = F_UNLCK; dlm_posix_get()
367 locks_init_lock(fl); dlm_posix_get()
368 fl->fl_type = (op->info.ex) ? F_WRLCK : F_RDLCK; dlm_posix_get()
369 fl->fl_flags = FL_POSIX; dlm_posix_get()
370 fl->fl_pid = op->info.pid; dlm_posix_get()
371 fl->fl_start = op->info.start; dlm_posix_get()
372 fl->fl_end = op->info.end; dlm_posix_get()
80 do_unlock_close(struct dlm_ls *ls, u64 number, struct file *file, struct file_lock *fl) do_unlock_close() argument
104 dlm_posix_lock(dlm_lockspace_t *lockspace, u64 number, struct file *file, int cmd, struct file_lock *fl) dlm_posix_lock() argument
244 dlm_posix_unlock(dlm_lockspace_t *lockspace, u64 number, struct file *file, struct file_lock *fl) dlm_posix_unlock() argument
318 dlm_posix_get(dlm_lockspace_t *lockspace, u64 number, struct file *file, struct file_lock *fl) dlm_posix_get() argument
/linux-4.1.27/fs/afs/
H A 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);
83 static void afs_grant_locks(struct afs_vnode *vnode, struct file_lock *fl) afs_grant_locks() argument
87 list_move_tail(&fl->fl_u.afs.link, &vnode->granted_locks); afs_grant_locks()
88 if (fl->fl_type == F_RDLCK) { afs_grant_locks()
110 struct file_lock *fl; afs_lock_work() local
144 fl = list_entry(vnode->granted_locks.next, afs_lock_work()
146 key = key_get(fl->fl_file->private_data); afs_lock_work()
178 fl = list_entry(vnode->pending_locks.next, afs_lock_work()
180 key = key_get(fl->fl_file->private_data); afs_lock_work()
181 type = (fl->fl_type == F_RDLCK) ? afs_lock_work()
203 struct file_lock, fl_u.afs.link) == fl) { afs_lock_work()
204 fl->fl_u.afs.state = ret; afs_lock_work()
206 afs_grant_locks(vnode, fl); afs_lock_work()
208 list_del_init(&fl->fl_u.afs.link); afs_lock_work()
209 wake_up(&fl->fl_wait); afs_lock_work()
253 static int afs_do_setlk(struct file *file, struct file_lock *fl) afs_do_setlk() argument
261 _enter("{%x:%u},%u", vnode->fid.vid, vnode->fid.vnode, fl->fl_type); afs_do_setlk()
264 if (fl->fl_start != 0 || fl->fl_end != OFFSET_MAX) afs_do_setlk()
271 fl->fl_ops = &afs_lock_ops; afs_do_setlk()
272 INIT_LIST_HEAD(&fl->fl_u.afs.link); afs_do_setlk()
273 fl->fl_u.afs.state = AFS_LOCK_PENDING; afs_do_setlk()
275 type = (fl->fl_type == F_RDLCK) ? AFS_LOCK_READ : AFS_LOCK_WRITE; afs_do_setlk()
285 if (vnode->status.lock_count != 0 && !(fl->fl_flags & FL_SLEEP)) { afs_do_setlk()
314 list_add_tail(&fl->fl_u.afs.link, &vnode->pending_locks); afs_do_setlk()
329 &fl->fl_u.afs.link); afs_do_setlk()
333 list_del_init(&fl->fl_u.afs.link); afs_do_setlk()
341 list_add_tail(&fl->fl_u.afs.link, &vnode->pending_locks); afs_do_setlk()
343 if (!(fl->fl_flags & FL_SLEEP)) { afs_do_setlk()
353 ret = wait_event_interruptible(fl->fl_wait, afs_do_setlk()
354 fl->fl_u.afs.state <= AFS_LOCK_GRANTED); afs_do_setlk()
355 if (fl->fl_u.afs.state <= AFS_LOCK_GRANTED) { afs_do_setlk()
356 ret = fl->fl_u.afs.state; afs_do_setlk()
369 if (fl->fl_u.afs.state <= AFS_LOCK_GRANTED) { afs_do_setlk()
370 ret = fl->fl_u.afs.state; afs_do_setlk()
383 vnode->pending_locks.next == &fl->fl_u.afs.link) { afs_do_setlk()
384 if (vnode->pending_locks.prev != &fl->fl_u.afs.link) { afs_do_setlk()
386 list_del_init(&fl->fl_u.afs.link); afs_do_setlk()
390 list_del_init(&fl->fl_u.afs.link); afs_do_setlk()
406 fl->fl_u.afs.state = AFS_LOCK_GRANTED; afs_do_setlk()
407 list_move_tail(&fl->fl_u.afs.link, &vnode->granted_locks); afs_do_setlk()
413 ret = posix_lock_file(file, fl, NULL); afs_do_setlk()
432 list_del_init(&fl->fl_u.afs.link); afs_do_setlk()
441 static int afs_do_unlk(struct file *file, struct file_lock *fl) afs_do_unlk() argument
447 _enter("{%x:%u},%u", vnode->fid.vid, vnode->fid.vnode, fl->fl_type); afs_do_unlk()
450 if (fl->fl_start != 0 || fl->fl_end != OFFSET_MAX) afs_do_unlk()
453 fl->fl_ops = &afs_lock_ops; afs_do_unlk()
454 INIT_LIST_HEAD(&fl->fl_u.afs.link); afs_do_unlk()
455 fl->fl_u.afs.state = AFS_LOCK_PENDING; afs_do_unlk()
458 ret = posix_lock_file(file, fl, NULL); afs_do_unlk()
476 static int afs_do_getlk(struct file *file, struct file_lock *fl) afs_do_getlk() argument
484 fl->fl_type = F_UNLCK; afs_do_getlk()
490 posix_test_lock(file, fl); afs_do_getlk()
491 if (fl->fl_type == F_UNLCK) { afs_do_getlk()
499 fl->fl_type = F_RDLCK; afs_do_getlk()
501 fl->fl_type = F_WRLCK; afs_do_getlk()
502 fl->fl_start = 0; afs_do_getlk()
503 fl->fl_end = OFFSET_MAX; afs_do_getlk()
509 _leave(" = %d [%hd]", ret, fl->fl_type); afs_do_getlk()
516 int afs_lock(struct file *file, int cmd, struct file_lock *fl) afs_lock() argument
520 _enter("{%x:%u},%d,{t=%x,fl=%x,r=%Ld:%Ld}", afs_lock()
522 fl->fl_type, fl->fl_flags, afs_lock()
523 (long long) fl->fl_start, (long long) fl->fl_end); afs_lock()
526 if (__mandatory_lock(&vnode->vfs_inode) && fl->fl_type != F_UNLCK) afs_lock()
530 return afs_do_getlk(file, fl); afs_lock()
531 if (fl->fl_type == F_UNLCK) afs_lock()
532 return afs_do_unlk(file, fl); afs_lock()
533 return afs_do_setlk(file, fl); afs_lock()
539 int afs_flock(struct file *file, int cmd, struct file_lock *fl) afs_flock() argument
543 _enter("{%x:%u},%d,{t=%x,fl=%x}", afs_flock()
545 fl->fl_type, fl->fl_flags); afs_flock()
554 if (!(fl->fl_flags & FL_FLOCK)) afs_flock()
558 if (fl->fl_type == F_UNLCK) afs_flock()
559 return afs_do_unlk(file, fl); afs_flock()
560 return afs_do_setlk(file, fl); afs_flock()
569 static void afs_fl_copy_lock(struct file_lock *new, struct file_lock *fl) afs_fl_copy_lock() argument
573 list_add(&new->fl_u.afs.link, &fl->fl_u.afs.link); afs_fl_copy_lock()
580 static void afs_fl_release_private(struct file_lock *fl) afs_fl_release_private() argument
584 list_del_init(&fl->fl_u.afs.link); afs_fl_release_private()
H A Dinode.c317 _enter("{v={%x:%u} fl=%lx},%x", afs_validate()
348 _debug("new promise [fl=%lx]", vnode->flags); afs_validate()
H A Dsecurity.c313 _debug("new promise [fl=%lx]", vnode->flags); afs_permission()
H A Ddir.c592 _enter("{v={%x:%u} n=%pd fl=%lx},", afs_d_revalidate()
/linux-4.1.27/fs/ceph/
H A Dlocks.c36 int cmd, u8 wait, struct file_lock *fl) ceph_lock_message()
56 if (LLONG_MAX == fl->fl_end) ceph_lock_message()
59 length = fl->fl_end - fl->fl_start + 1; ceph_lock_message()
61 owner = secure_addr(fl->fl_owner); ceph_lock_message()
65 (int)operation, owner, (u64)fl->fl_pid, fl->fl_start, length, ceph_lock_message()
66 wait, fl->fl_type); ceph_lock_message()
71 req->r_args.filelock_change.pid = cpu_to_le64((u64)fl->fl_pid); ceph_lock_message()
72 req->r_args.filelock_change.start = cpu_to_le64(fl->fl_start); ceph_lock_message()
82 fl->fl_pid = le64_to_cpu(req->r_reply_info.filelock_reply->pid); ceph_lock_message()
84 fl->fl_type = F_RDLCK; ceph_lock_message()
86 fl->fl_type = F_WRLCK; ceph_lock_message()
88 fl->fl_type = F_UNLCK; ceph_lock_message()
90 fl->fl_start = le64_to_cpu(req->r_reply_info.filelock_reply->start); ceph_lock_message()
94 fl->fl_end = length -1; ceph_lock_message()
96 fl->fl_end = 0; ceph_lock_message()
102 (int)operation, (u64)fl->fl_pid, fl->fl_start, ceph_lock_message()
103 length, wait, fl->fl_type, err); ceph_lock_message()
157 int ceph_lock(struct file *file, int cmd, struct file_lock *fl) ceph_lock() argument
164 if (!(fl->fl_flags & FL_POSIX)) ceph_lock()
167 if (__mandatory_lock(file->f_mapping->host) && fl->fl_type != F_UNLCK) ceph_lock()
170 dout("ceph_lock, fl_owner: %p", fl->fl_owner); ceph_lock()
178 if (F_RDLCK == fl->fl_type) ceph_lock()
180 else if (F_WRLCK == fl->fl_type) ceph_lock()
185 err = ceph_lock_message(CEPH_LOCK_FCNTL, op, file, lock_cmd, wait, fl); ceph_lock()
189 err = posix_lock_file(file, fl, NULL); ceph_lock()
195 CEPH_LOCK_UNLOCK, 0, fl); ceph_lock()
204 int ceph_flock(struct file *file, int cmd, struct file_lock *fl) ceph_flock() argument
210 if (!(fl->fl_flags & FL_FLOCK)) ceph_flock()
213 if (__mandatory_lock(file->f_mapping->host) && fl->fl_type != F_UNLCK) ceph_flock()
216 dout("ceph_flock, fl_file: %p", fl->fl_file); ceph_flock()
221 if (F_RDLCK == fl->fl_type) ceph_flock()
223 else if (F_WRLCK == fl->fl_type) ceph_flock()
229 file, lock_cmd, wait, fl); ceph_flock()
231 err = flock_lock_file_wait(file, fl); ceph_flock()
235 file, CEPH_LOCK_UNLOCK, 0, fl); ceph_flock()
35 ceph_lock_message(u8 lock_type, u16 operation, struct file *file, int cmd, u8 wait, struct file_lock *fl) ceph_lock_message() argument
H A Dsuper.h930 extern int ceph_lock(struct file *file, int cmd, struct file_lock *fl);
931 extern int ceph_flock(struct file *file, int cmd, struct file_lock *fl);
940 extern int lock_to_ceph_filelock(struct file_lock *fl, struct ceph_filelock *c);
/linux-4.1.27/scripts/kconfig/
H A Dkxgettext.c137 struct file_line *fl = file_line__new(file, lineno); message__add_file_line() local
139 if (fl == NULL) message__add_file_line()
142 fl->next = self->files; message__add_file_line()
143 self->files = fl; message__add_file_line()
191 struct file_line *fl = self->files; message__print_file_lineno() local
197 printf("#: %s:%d", fl->file, fl->lineno); message__print_file_lineno()
198 fl = fl->next; message__print_file_lineno()
200 while (fl != NULL) { message__print_file_lineno()
201 printf(", %s:%d", fl->file, fl->lineno); message__print_file_lineno()
202 fl = fl->next; message__print_file_lineno()
/linux-4.1.27/drivers/mtd/
H A Dredboot.c66 struct fis_list *fl = NULL, *tmp_fl; parse_redboot_partitions() local
207 prev = &fl; parse_redboot_partitions()
216 if (fl->img->flash_base) { parse_redboot_partitions()
221 for (tmp_fl = fl; tmp_fl->next; tmp_fl = tmp_fl->next) { parse_redboot_partitions()
246 if (fl->img->flash_base) { parse_redboot_partitions()
248 parts[0].size = fl->img->flash_base; parse_redboot_partitions()
254 parts[i].size = fl->img->size; parse_redboot_partitions()
255 parts[i].offset = fl->img->flash_base; parse_redboot_partitions()
258 strcpy(names, fl->img->name); parse_redboot_partitions()
269 if(fl->next && fl->img->flash_base + fl->img->size + master->erasesize <= fl->next->img->flash_base) { parse_redboot_partitions()
272 parts[i].size = fl->next->img->flash_base - parts[i].offset; parse_redboot_partitions()
276 tmp_fl = fl; parse_redboot_partitions()
277 fl = fl->next; parse_redboot_partitions()
283 while (fl) { parse_redboot_partitions()
284 struct fis_list *old = fl; parse_redboot_partitions()
285 fl = fl->next; parse_redboot_partitions()
/linux-4.1.27/fs/9p/
H A Dvfs_file.c125 * @fl: file lock structure
131 static int v9fs_file_lock(struct file *filp, int cmd, struct file_lock *fl) v9fs_file_lock() argument
136 p9_debug(P9_DEBUG_VFS, "filp: %p lock: %p\n", filp, fl); v9fs_file_lock()
139 if (__mandatory_lock(inode) && fl->fl_type != F_UNLCK) v9fs_file_lock()
142 if ((IS_SETLK(cmd) || IS_SETLKW(cmd)) && fl->fl_type != F_UNLCK) { v9fs_file_lock()
150 static int v9fs_file_do_lock(struct file *filp, int cmd, struct file_lock *fl) v9fs_file_do_lock() argument
161 if ((fl->fl_flags & FL_POSIX) != FL_POSIX) v9fs_file_do_lock()
164 res = posix_lock_file_wait(filp, fl); v9fs_file_do_lock()
171 switch (fl->fl_type) { v9fs_file_do_lock()
182 flock.start = fl->fl_start; v9fs_file_do_lock()
183 if (fl->fl_end == OFFSET_MAX) v9fs_file_do_lock()
186 flock.length = fl->fl_end - fl->fl_start + 1; v9fs_file_do_lock()
187 flock.proc_id = fl->fl_pid; v9fs_file_do_lock()
231 if (res < 0 && fl->fl_type != F_UNLCK) { v9fs_file_do_lock()
232 fl_type = fl->fl_type; v9fs_file_do_lock()
233 fl->fl_type = F_UNLCK; v9fs_file_do_lock()
234 res = posix_lock_file_wait(filp, fl); v9fs_file_do_lock()
235 fl->fl_type = fl_type; v9fs_file_do_lock()
241 static int v9fs_file_getlock(struct file *filp, struct file_lock *fl) v9fs_file_getlock() argument
250 posix_test_lock(filp, fl); v9fs_file_getlock()
255 if (fl->fl_type != F_UNLCK) v9fs_file_getlock()
261 glock.start = fl->fl_start; v9fs_file_getlock()
262 if (fl->fl_end == OFFSET_MAX) v9fs_file_getlock()
265 glock.length = fl->fl_end - fl->fl_start + 1; v9fs_file_getlock()
266 glock.proc_id = fl->fl_pid; v9fs_file_getlock()
275 fl->fl_type = F_RDLCK; v9fs_file_getlock()
278 fl->fl_type = F_WRLCK; v9fs_file_getlock()
281 fl->fl_type = F_UNLCK; v9fs_file_getlock()
285 fl->fl_start = glock.start; v9fs_file_getlock()
287 fl->fl_end = OFFSET_MAX; v9fs_file_getlock()
289 fl->fl_end = glock.start + glock.length - 1; v9fs_file_getlock()
290 fl->fl_pid = glock.proc_id; v9fs_file_getlock()
300 * @fl: file lock structure
304 static int v9fs_file_lock_dotl(struct file *filp, int cmd, struct file_lock *fl) v9fs_file_lock_dotl() argument
310 filp, cmd, fl, filp); v9fs_file_lock_dotl()
313 if (__mandatory_lock(inode) && fl->fl_type != F_UNLCK) v9fs_file_lock_dotl()
316 if ((IS_SETLK(cmd) || IS_SETLKW(cmd)) && fl->fl_type != F_UNLCK) { v9fs_file_lock_dotl()
322 ret = v9fs_file_do_lock(filp, cmd, fl); v9fs_file_lock_dotl()
324 ret = v9fs_file_getlock(filp, fl); v9fs_file_lock_dotl()
335 * @fl: file lock structure
340 struct file_lock *fl) v9fs_file_flock_dotl()
346 filp, cmd, fl, filp); v9fs_file_flock_dotl()
349 if (__mandatory_lock(inode) && fl->fl_type != F_UNLCK) v9fs_file_flock_dotl()
352 if (!(fl->fl_flags & FL_FLOCK)) v9fs_file_flock_dotl()
355 if ((IS_SETLK(cmd) || IS_SETLKW(cmd)) && fl->fl_type != F_UNLCK) { v9fs_file_flock_dotl()
360 fl->fl_flags |= FL_POSIX; v9fs_file_flock_dotl()
361 fl->fl_flags ^= FL_FLOCK; v9fs_file_flock_dotl()
364 ret = v9fs_file_do_lock(filp, cmd, fl); v9fs_file_flock_dotl()
339 v9fs_file_flock_dotl(struct file *filp, int cmd, struct file_lock *fl) v9fs_file_flock_dotl() argument
/linux-4.1.27/fs/nfs/filelayout/
H A Dfilelayout.c563 struct nfs4_filelayout_segment *fl, filelayout_check_layout()
582 if (fl->pattern_offset > lgr->range.offset) { filelayout_check_layout()
584 __func__, fl->pattern_offset); filelayout_check_layout()
588 if (!fl->stripe_unit) { filelayout_check_layout()
590 __func__, fl->stripe_unit); filelayout_check_layout()
605 fl->dsaddr = dsaddr; filelayout_check_layout()
607 if (fl->first_stripe_index >= dsaddr->stripe_count) { filelayout_check_layout()
609 __func__, fl->first_stripe_index); filelayout_check_layout()
613 if ((fl->stripe_type == STRIPE_SPARSE && filelayout_check_layout()
614 fl->num_fh > 1 && fl->num_fh != dsaddr->ds_num) || filelayout_check_layout()
615 (fl->stripe_type == STRIPE_DENSE && filelayout_check_layout()
616 fl->num_fh != dsaddr->stripe_count)) { filelayout_check_layout()
618 __func__, fl->num_fh); filelayout_check_layout()
631 static void _filelayout_free_lseg(struct nfs4_filelayout_segment *fl) _filelayout_free_lseg() argument
635 if (fl->fh_array) { _filelayout_free_lseg()
636 for (i = 0; i < fl->num_fh; i++) { _filelayout_free_lseg()
637 if (!fl->fh_array[i]) _filelayout_free_lseg()
639 kfree(fl->fh_array[i]); _filelayout_free_lseg()
641 kfree(fl->fh_array); _filelayout_free_lseg()
643 kfree(fl); _filelayout_free_lseg()
648 struct nfs4_filelayout_segment *fl, filelayout_decode_layout()
681 fl->commit_through_mds = 1; filelayout_decode_layout()
683 fl->stripe_type = STRIPE_DENSE; filelayout_decode_layout()
685 fl->stripe_type = STRIPE_SPARSE; filelayout_decode_layout()
686 fl->stripe_unit = nfl_util & ~NFL4_UFLG_MASK; filelayout_decode_layout()
688 fl->first_stripe_index = be32_to_cpup(p++); filelayout_decode_layout()
689 p = xdr_decode_hyper(p, &fl->pattern_offset); filelayout_decode_layout()
690 fl->num_fh = be32_to_cpup(p++); filelayout_decode_layout()
693 __func__, nfl_util, fl->num_fh, fl->first_stripe_index, filelayout_decode_layout()
694 fl->pattern_offset); filelayout_decode_layout()
698 if (fl->num_fh > filelayout_decode_layout()
702 if (fl->num_fh > 0) { filelayout_decode_layout()
703 fl->fh_array = kcalloc(fl->num_fh, sizeof(fl->fh_array[0]), filelayout_decode_layout()
705 if (!fl->fh_array) filelayout_decode_layout()
709 for (i = 0; i < fl->num_fh; i++) { filelayout_decode_layout()
711 fl->fh_array[i] = kmalloc(sizeof(struct nfs_fh), gfp_flags); filelayout_decode_layout()
712 if (!fl->fh_array[i]) filelayout_decode_layout()
718 fl->fh_array[i]->size = be32_to_cpup(p++); filelayout_decode_layout()
719 if (sizeof(struct nfs_fh) < fl->fh_array[i]->size) { filelayout_decode_layout()
721 i, fl->fh_array[i]->size); filelayout_decode_layout()
725 p = xdr_inline_decode(&stream, fl->fh_array[i]->size); filelayout_decode_layout()
728 memcpy(fl->fh_array[i]->data, p, fl->fh_array[i]->size); filelayout_decode_layout()
730 fl->fh_array[i]->size); filelayout_decode_layout()
744 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); filelayout_free_lseg() local
747 nfs4_fl_put_deviceid(fl->dsaddr); filelayout_free_lseg()
757 _filelayout_free_lseg(fl); filelayout_free_lseg()
765 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); filelayout_alloc_commit_info() local
769 if (fl->commit_through_mds) filelayout_alloc_commit_info()
772 size = (fl->stripe_type == STRIPE_SPARSE) ? filelayout_alloc_commit_info()
773 fl->dsaddr->ds_num : fl->dsaddr->stripe_count; filelayout_alloc_commit_info()
822 struct nfs4_filelayout_segment *fl; filelayout_alloc_lseg() local
827 fl = kzalloc(sizeof(*fl), gfp_flags); filelayout_alloc_lseg()
828 if (!fl) filelayout_alloc_lseg()
831 rc = filelayout_decode_layout(layoutid, fl, lgr, &id, gfp_flags); filelayout_alloc_lseg()
832 if (rc != 0 || filelayout_check_layout(layoutid, fl, lgr, &id, gfp_flags)) { filelayout_alloc_lseg()
833 _filelayout_free_lseg(fl); filelayout_alloc_lseg()
836 return &fl->generic_hdr; filelayout_alloc_lseg()
940 static u32 select_bucket_index(struct nfs4_filelayout_segment *fl, u32 j) select_bucket_index() argument
942 if (fl->stripe_type == STRIPE_SPARSE) select_bucket_index()
943 return nfs4_fl_calc_ds_index(&fl->generic_hdr, j); select_bucket_index()
955 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); filelayout_mark_request_commit() local
958 if (fl->commit_through_mds) { filelayout_mark_request_commit()
968 i = select_bucket_index(fl, j); filelayout_mark_request_commit()
562 filelayout_check_layout(struct pnfs_layout_hdr *lo, struct nfs4_filelayout_segment *fl, struct nfs4_layoutget_res *lgr, struct nfs4_deviceid *id, gfp_t gfp_flags) filelayout_check_layout() argument
647 filelayout_decode_layout(struct pnfs_layout_hdr *flo, struct nfs4_filelayout_segment *fl, struct nfs4_layoutget_res *lgr, struct nfs4_deviceid *id, gfp_t gfp_flags) filelayout_decode_layout() argument
/linux-4.1.27/net/ipv4/
H A Dxfrm4_state.c25 __xfrm4_init_tempsel(struct xfrm_selector *sel, const struct flowi *fl) __xfrm4_init_tempsel() argument
27 const struct flowi4 *fl4 = &fl->u.ip4; __xfrm4_init_tempsel()
31 sel->dport = xfrm_flowi_dport(fl, &fl4->uli); __xfrm4_init_tempsel()
33 sel->sport = xfrm_flowi_sport(fl, &fl4->uli); __xfrm4_init_tempsel()
H A Dxfrm4_policy.c65 static int xfrm4_get_tos(const struct flowi *fl) xfrm4_get_tos() argument
67 return IPTOS_RT_MASK & fl->u.ip4.flowi4_tos; /* Strip ECN bits */ xfrm4_get_tos()
77 const struct flowi *fl) xfrm4_fill_dst()
80 const struct flowi4 *fl4 = &fl->u.ip4; xfrm4_fill_dst()
102 _decode_session4(struct sk_buff *skb, struct flowi *fl, int reverse) _decode_session4() argument
106 struct flowi4 *fl4 = &fl->u.ip4; _decode_session4()
76 xfrm4_fill_dst(struct xfrm_dst *xdst, struct net_device *dev, const struct flowi *fl) xfrm4_fill_dst() argument
H A Dip_vti.c153 struct flowi *fl) vti_xmit()
167 dst = xfrm_lookup(tunnel->net, dst, fl, NULL, 0); vti_xmit()
220 struct flowi fl; vti_tunnel_xmit() local
222 memset(&fl, 0, sizeof(fl)); vti_tunnel_xmit()
226 xfrm_decode_session(skb, &fl, AF_INET); vti_tunnel_xmit()
230 xfrm_decode_session(skb, &fl, AF_INET6); vti_tunnel_xmit()
240 fl.flowi_mark = be32_to_cpu(tunnel->parms.o_key); vti_tunnel_xmit()
242 return vti_xmit(skb, dev, &fl); vti_tunnel_xmit()
152 vti_xmit(struct sk_buff *skb, struct net_device *dev, struct flowi *fl) vti_xmit() argument
H A Dnetfilter.c177 struct flowi *fl, bool strict __always_unused) nf_ip_route()
179 struct rtable *rt = ip_route_output_key(net, &fl->u.ip4); nf_ip_route()
176 nf_ip_route(struct net *net, struct dst_entry **dst, struct flowi *fl, bool strict __always_unused) nf_ip_route() argument
H A Ddatagram.c50 fl4 = &inet->cork.fl.u.ip4; __ip4_datagram_connect()
H A Dfib_rules.c134 static int fib4_rule_match(struct fib_rule *rule, struct flowi *fl, int flags) fib4_rule_match() argument
137 struct flowi4 *fl4 = &fl->u.ip4; fib4_rule_match()
H A Dinet_connection_sock.c444 fl4 = &newinet->cork.fl.u.ip4; inet_csk_route_child_sock()
935 static struct dst_entry *inet_csk_rebuild_route(struct sock *sk, struct flowi *fl) inet_csk_rebuild_route() argument
947 fl4 = &fl->u.ip4; inet_csk_rebuild_route()
967 dst = inet_csk_rebuild_route(sk, &inet->cork.fl); inet_csk_update_pmtu()
975 dst = inet_csk_rebuild_route(sk, &inet->cork.fl); inet_csk_update_pmtu()
H A Dtcp_ipv4.c170 fl4 = &inet->cork.fl.u.ip4; tcp_v4_connect()
825 struct flowi *fl, tcp_v4_send_synack()
1186 static struct dst_entry *tcp_v4_route_req(struct sock *sk, struct flowi *fl, tcp_v4_route_req() argument
1190 struct dst_entry *dst = inet_csk_route_req(sk, &fl->u.ip4, req); tcp_v4_route_req()
1193 if (fl->u.ip4.daddr == inet_rsk(req)->ir_rmt_addr) tcp_v4_route_req()
824 tcp_v4_send_synack(struct sock *sk, struct dst_entry *dst, struct flowi *fl, struct request_sock *req, u16 queue_mapping, struct tcp_fastopen_cookie *foc) tcp_v4_send_synack() argument
H A Dsyncookies.c399 inet_sk(ret)->cork.fl.u.ip4 = fl4; cookie_v4_check()
H A Dudp.c859 struct flowi4 *fl4 = &inet->cork.fl.u.ip4; udp_push_pending_frames()
913 fl4 = &inet->cork.fl.u.ip4; udp_sendmsg()
1075 fl4 = &inet->cork.fl.u.ip4; udp_sendmsg()
1154 ret = ip_append_page(sk, &inet->cork.fl.u.ip4, udp_sendpage()
H A Daf_inet.c1121 fl4 = &inet->cork.fl.u.ip4; inet_sk_reselect_saddr()
1174 fl4 = &inet->cork.fl.u.ip4; inet_sk_rebuild_header()
H A Dip_output.c370 int ip_queue_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl) ip_queue_xmit() argument
384 fl4 = &fl->u.ip4; ip_queue_xmit()
H A Dtcp.c1623 "recvmsg bug: copied %X seq %X rcvnxt %X fl %X\n", tcp_recvmsg()
1636 "recvmsg bug 2: copied %X seq %X rcvnxt %X fl %X\n", tcp_recvmsg()
H A Dtcp_input.c6097 struct flowi fl; tcp_conn_request() local
6162 dst = af_ops->route_req(sk, &fl, req, &strict); tcp_conn_request()
6192 dst = af_ops->route_req(sk, &fl, req, NULL); tcp_conn_request()
6210 err = af_ops->send_synack(sk, dst, &fl, req, tcp_conn_request()
H A Dtcp_output.c1031 err = icsk->icsk_af_ops->queue_xmit(sk, skb, &inet->cork.fl); tcp_transmit_skb()
3502 struct flowi fl; tcp_rtx_synack() local
3505 res = af_ops->send_synack(sk, NULL, &fl, req, 0, NULL); tcp_rtx_synack()
H A Dipmr.c198 static int ipmr_rule_match(struct fib_rule *rule, struct flowi *fl, int flags) ipmr_rule_match() argument
/linux-4.1.27/drivers/net/ethernet/chelsio/cxgb4vf/
H A Dsge.c240 * @fl: the Free List
247 static inline unsigned int fl_cap(const struct sge_fl *fl) fl_cap() argument
249 return fl->size - FL_PER_EQ_UNIT; fl_cap()
255 * @fl: the Free List
262 const struct sge_fl *fl) fl_starving()
266 return fl->avail - fl->pend_cred <= s->fl_starve_thres; fl_starving()
466 * @fl: the SGE Free List to free buffers from
473 static void free_rx_bufs(struct adapter *adapter, struct sge_fl *fl, int n) free_rx_bufs() argument
476 struct rx_sw_desc *sdesc = &fl->sdesc[fl->cidx]; free_rx_bufs()
484 if (++fl->cidx == fl->size) free_rx_bufs()
485 fl->cidx = 0; free_rx_bufs()
486 fl->avail--; free_rx_bufs()
493 * @fl: the SGE Free List
503 static void unmap_rx_buf(struct adapter *adapter, struct sge_fl *fl) unmap_rx_buf() argument
505 struct rx_sw_desc *sdesc = &fl->sdesc[fl->cidx]; unmap_rx_buf()
512 if (++fl->cidx == fl->size) unmap_rx_buf()
513 fl->cidx = 0; unmap_rx_buf()
514 fl->avail--; unmap_rx_buf()
520 * @fl: the Free List whose doorbell should be rung ...
525 static inline void ring_fl_db(struct adapter *adapter, struct sge_fl *fl) ring_fl_db() argument
533 if (fl->pend_cred >= FL_PER_EQ_UNIT) { ring_fl_db()
535 val = PIDX_V(fl->pend_cred / FL_PER_EQ_UNIT); ring_fl_db()
537 val = PIDX_T5_V(fl->pend_cred / FL_PER_EQ_UNIT) | ring_fl_db()
550 if (unlikely(fl->bar2_addr == NULL)) { ring_fl_db()
553 QID_V(fl->cntxt_id) | val); ring_fl_db()
555 writel(val | QID_V(fl->bar2_qid), ring_fl_db()
556 fl->bar2_addr + SGE_UDB_KDOORBELL); ring_fl_db()
563 fl->pend_cred %= FL_PER_EQ_UNIT; ring_fl_db()
595 * @fl: the Free List ring to refill
606 static unsigned int refill_fl(struct adapter *adapter, struct sge_fl *fl, refill_fl() argument
612 unsigned int cred = fl->avail; refill_fl()
613 __be64 *d = &fl->desc[fl->pidx]; refill_fl()
614 struct rx_sw_desc *sdesc = &fl->sdesc[fl->pidx]; refill_fl()
621 BUG_ON(fl->avail + n > fl->size - FL_PER_EQ_UNIT); refill_fl()
642 fl->large_alloc_failed++; refill_fl()
668 fl->avail++; refill_fl()
669 if (++fl->pidx == fl->size) { refill_fl()
670 fl->pidx = 0; refill_fl()
671 sdesc = fl->sdesc; refill_fl()
672 d = fl->desc; refill_fl()
681 fl->alloc_failed++; refill_fl()
697 fl->avail++; refill_fl()
698 if (++fl->pidx == fl->size) { refill_fl()
699 fl->pidx = 0; refill_fl()
700 sdesc = fl->sdesc; refill_fl()
701 d = fl->desc; refill_fl()
711 cred = fl->avail - cred; refill_fl()
712 fl->pend_cred += cred; refill_fl()
713 ring_fl_db(adapter, fl); refill_fl()
715 if (unlikely(fl_starving(adapter, fl))) { refill_fl()
717 set_bit(fl->cntxt_id, adapter->sge.starving_fl); refill_fl()
727 static inline void __refill_fl(struct adapter *adapter, struct sge_fl *fl) __refill_fl() argument
729 refill_fl(adapter, fl, __refill_fl()
730 min((unsigned int)MAX_RX_REFILL, fl_cap(fl) - fl->avail), __refill_fl()
1672 * @fl: the SGE Free List
1689 static void restore_rx_bufs(const struct pkt_gl *gl, struct sge_fl *fl, restore_rx_bufs() argument
1695 if (fl->cidx == 0) restore_rx_bufs()
1696 fl->cidx = fl->size - 1; restore_rx_bufs()
1698 fl->cidx--; restore_rx_bufs()
1699 sdesc = &fl->sdesc[fl->cidx]; restore_rx_bufs()
1702 fl->avail++; restore_rx_bufs()
1774 free_rx_bufs(rspq->adapter, &rxq->fl, process_responses()
1787 BUG_ON(rxq->fl.avail == 0); process_responses()
1788 sdesc = &rxq->fl.sdesc[rxq->fl.cidx]; process_responses()
1796 unmap_rx_buf(rspq->adapter, &rxq->fl); process_responses()
1820 restore_rx_bufs(&gl, &rxq->fl, frag); process_responses()
1850 rxq->fl.size - rxq->fl.avail >= 2*FL_PER_EQ_UNIT) process_responses()
1851 __refill_fl(rspq->adapter, &rxq->fl); process_responses()
2056 struct sge_fl *fl = s->egr_map[id]; sge_rx_timer_cb() local
2062 * Since we are accessing fl without a lock there's a sge_rx_timer_cb()
2067 if (fl_starving(adapter, fl)) { sge_rx_timer_cb()
2070 rxq = container_of(fl, struct sge_eth_rxq, fl); sge_rx_timer_cb()
2072 fl->starving++; sge_rx_timer_cb()
2172 * @fl: pointer to the new rxq's Free List to be filled in
2178 struct sge_fl *fl, rspq_handler_t hnd) t4vf_sge_alloc_rxq()
2241 if (fl) { t4vf_sge_alloc_rxq()
2248 fl->size = roundup(fl->size, FL_PER_EQ_UNIT); t4vf_sge_alloc_rxq()
2249 fl->desc = alloc_ring(adapter->pdev_dev, fl->size, t4vf_sge_alloc_rxq()
2251 &fl->addr, &fl->sdesc, s->stat_len); t4vf_sge_alloc_rxq()
2252 if (!fl->desc) { t4vf_sge_alloc_rxq()
2262 flsz = (fl->size / FL_PER_EQ_UNIT + t4vf_sge_alloc_rxq()
2279 cmd.fl0addr = cpu_to_be64(fl->addr); t4vf_sge_alloc_rxq()
2307 rspq->offset = fl ? 0 : -1; t4vf_sge_alloc_rxq()
2309 if (fl) { t4vf_sge_alloc_rxq()
2310 fl->cntxt_id = be16_to_cpu(rpl.fl0id); t4vf_sge_alloc_rxq()
2311 fl->avail = 0; t4vf_sge_alloc_rxq()
2312 fl->pend_cred = 0; t4vf_sge_alloc_rxq()
2313 fl->pidx = 0; t4vf_sge_alloc_rxq()
2314 fl->cidx = 0; t4vf_sge_alloc_rxq()
2315 fl->alloc_failed = 0; t4vf_sge_alloc_rxq()
2316 fl->large_alloc_failed = 0; t4vf_sge_alloc_rxq()
2317 fl->starving = 0; t4vf_sge_alloc_rxq()
2322 fl->bar2_addr = bar2_address(adapter, t4vf_sge_alloc_rxq()
2323 fl->cntxt_id, t4vf_sge_alloc_rxq()
2325 &fl->bar2_qid); t4vf_sge_alloc_rxq()
2327 refill_fl(adapter, fl, fl_cap(fl), GFP_KERNEL); t4vf_sge_alloc_rxq()
2342 if (fl && fl->desc) { t4vf_sge_alloc_rxq()
2343 kfree(fl->sdesc); t4vf_sge_alloc_rxq()
2344 fl->sdesc = NULL; t4vf_sge_alloc_rxq()
2346 fl->desc, fl->addr); t4vf_sge_alloc_rxq()
2347 fl->desc = NULL; t4vf_sge_alloc_rxq()
2475 struct sge_fl *fl) free_rspq_fl()
2478 unsigned int flid = fl ? fl->cntxt_id : 0xffff; free_rspq_fl()
2490 if (fl) { free_rspq_fl()
2491 free_rx_bufs(adapter, fl, fl->avail); free_rspq_fl()
2493 fl->size * sizeof(*fl->desc) + s->stat_len, free_rspq_fl()
2494 fl->desc, fl->addr); free_rspq_fl()
2495 kfree(fl->sdesc); free_rspq_fl()
2496 fl->sdesc = NULL; free_rspq_fl()
2497 fl->cntxt_id = 0; free_rspq_fl()
2498 fl->desc = NULL; free_rspq_fl()
2519 free_rspq_fl(adapter, &rxq->rspq, &rxq->fl); t4vf_free_sge_resources()
261 fl_starving(const struct adapter *adapter, const struct sge_fl *fl) fl_starving() argument
2175 t4vf_sge_alloc_rxq(struct adapter *adapter, struct sge_rspq *rspq, bool iqasynch, struct net_device *dev, int intr_dest, struct sge_fl *fl, rspq_handler_t hnd) t4vf_sge_alloc_rxq() argument
2474 free_rspq_fl(struct adapter *adapter, struct sge_rspq *rspq, struct sge_fl *fl) free_rspq_fl() argument
H A Dcxgb4vf_main.c580 &rxq->fl, t4vf_ethrx_handler); for_each_port()
621 rxq->fl.abs_id = rxq->fl.cntxt_id + s->egr_base; for_each_port()
622 EQ_MAP(s, rxq->fl.abs_id) = &rxq->fl; for_each_port()
1388 rp->rx_pending = s->ethrxq[pi->first_qset].fl.size - MIN_FL_RESID; cxgb4vf_get_ringparam()
1421 s->ethrxq[qs].fl.size = rp->rx_pending + MIN_FL_RESID; cxgb4vf_set_ringparam()
1780 R("FL ID:", fl.abs_id); sge_qinfo_show()
1781 R("FL size:", fl.size - MIN_FL_RESID); sge_qinfo_show()
1782 R("FL avail:", fl.avail); sge_qinfo_show()
1783 R("FL PIdx:", fl.pidx); sge_qinfo_show()
1784 R("FL CIdx:", fl.cidx); sge_qinfo_show()
1932 R("FLAllocErr:", fl.alloc_failed); sge_qstats_show()
1933 R("FLLrgAlcErr:", fl.large_alloc_failed); sge_qstats_show()
1934 R("FLStarving:", fl.starving); sge_qstats_show()
2475 rxq->fl.size = 72;
H A Dadapter.h212 struct sge_fl fl; /* Free List */ member in struct:sge_eth_rxq
/linux-4.1.27/arch/mips/kernel/
H A Drtlx.c242 size_t lx_write, fl = 0L; rtlx_read() local
261 fl = min(count, (size_t)lx->buffer_size - lx->lx_read); rtlx_read()
263 failed = copy_to_user(buff, lx->lx_buffer + lx->lx_read, fl); rtlx_read()
268 if (count - fl) rtlx_read()
269 failed = copy_to_user(buff + fl, lx->lx_buffer, count - fl); rtlx_read()
287 size_t fl; rtlx_write() local
303 fl = min(count, (size_t) rt->buffer_size - rt->rt_write); rtlx_write()
305 failed = copy_from_user(rt->rt_buffer + rt->rt_write, buffer, fl); rtlx_write()
310 if (count - fl) rtlx_write()
311 failed = copy_from_user(rt->rt_buffer, buffer + fl, count - fl); rtlx_write()
/linux-4.1.27/fs/nfsd/
H A Dnfs4layouts.c159 struct file_lock *fl; nfsd4_layout_setlease() local
162 fl = locks_alloc_lock(); nfsd4_layout_setlease()
163 if (!fl) nfsd4_layout_setlease()
165 locks_init_lock(fl); nfsd4_layout_setlease()
166 fl->fl_lmops = &nfsd4_layouts_lm_ops; nfsd4_layout_setlease()
167 fl->fl_flags = FL_LAYOUT; nfsd4_layout_setlease()
168 fl->fl_type = F_RDLCK; nfsd4_layout_setlease()
169 fl->fl_end = OFFSET_MAX; nfsd4_layout_setlease()
170 fl->fl_owner = ls; nfsd4_layout_setlease()
171 fl->fl_pid = current->tgid; nfsd4_layout_setlease()
172 fl->fl_file = ls->ls_file; nfsd4_layout_setlease()
174 status = vfs_setlease(fl->fl_file, fl->fl_type, &fl, NULL); nfsd4_layout_setlease()
176 locks_free_lock(fl); nfsd4_layout_setlease()
179 BUG_ON(fl != NULL); nfsd4_layout_setlease()
662 nfsd4_layout_lm_break(struct file_lock *fl) nfsd4_layout_lm_break() argument
669 fl->fl_break_time = 0; nfsd4_layout_lm_break()
670 nfsd4_recall_file_layout(fl->fl_owner); nfsd4_layout_lm_break()
H A Dnfs4state.c3604 nfsd_break_deleg_cb(struct file_lock *fl) nfsd_break_deleg_cb() argument
3607 struct nfs4_file *fp = (struct nfs4_file *)fl->fl_owner; nfsd_break_deleg_cb()
3611 WARN(1, "(%p)->fl_owner NULL\n", fl); nfsd_break_deleg_cb()
3623 fl->fl_break_time = 0; nfsd_break_deleg_cb()
3982 struct file_lock *fl; nfs4_alloc_init_lease() local
3984 fl = locks_alloc_lock(); nfs4_alloc_init_lease()
3985 if (!fl) nfs4_alloc_init_lease()
3987 fl->fl_lmops = &nfsd_lease_mng_ops; nfs4_alloc_init_lease()
3988 fl->fl_flags = FL_DELEG; nfs4_alloc_init_lease()
3989 fl->fl_type = flag == NFS4_OPEN_DELEGATE_READ? F_RDLCK: F_WRLCK; nfs4_alloc_init_lease()
3990 fl->fl_end = OFFSET_MAX; nfs4_alloc_init_lease()
3991 fl->fl_owner = (fl_owner_t)fp; nfs4_alloc_init_lease()
3992 fl->fl_pid = current->tgid; nfs4_alloc_init_lease()
3993 return fl; nfs4_alloc_init_lease()
4011 struct file_lock *fl, *ret; nfs4_setlease() local
4015 fl = nfs4_alloc_init_lease(fp, NFS4_OPEN_DELEGATE_READ); nfs4_setlease()
4016 if (!fl) nfs4_setlease()
4024 fl->fl_file = filp; nfs4_setlease()
4025 ret = fl; nfs4_setlease()
4026 status = vfs_setlease(filp, fl->fl_type, &fl, NULL); nfs4_setlease()
4027 if (fl) nfs4_setlease()
4028 locks_free_lock(fl); nfs4_setlease()
5187 nfs4_set_lock_denied(struct file_lock *fl, struct nfsd4_lock_denied *deny) nfs4_set_lock_denied() argument
5191 if (fl->fl_lmops == &nfsd_posix_mng_ops) { nfs4_set_lock_denied()
5192 lo = (struct nfs4_lockowner *) fl->fl_owner; nfs4_set_lock_denied()
5207 deny->ld_start = fl->fl_start; nfs4_set_lock_denied()
5209 if (fl->fl_end != NFS4_MAX_UINT64) nfs4_set_lock_denied()
5210 deny->ld_length = fl->fl_end - fl->fl_start + 1; nfs4_set_lock_denied()
5212 if (fl->fl_type != F_RDLCK) nfs4_set_lock_denied()
5793 struct file_lock *fl; check_for_locks() local
5810 list_for_each_entry(fl, &flctx->flc_posix, fl_list) { check_for_locks()
5811 if (fl->fl_owner == (fl_owner_t)lowner) { check_for_locks()
/linux-4.1.27/fs/nfs/
H A Dfile.c731 do_getlk(struct file *filp, int cmd, struct file_lock *fl, int is_local) do_getlk() argument
735 unsigned int saved_type = fl->fl_type; do_getlk()
738 posix_test_lock(filp, fl); do_getlk()
739 if (fl->fl_type != F_UNLCK) { do_getlk()
743 fl->fl_type = saved_type; do_getlk()
751 status = NFS_PROTO(inode)->lock(filp, cmd, fl); do_getlk()
755 fl->fl_type = F_UNLCK; do_getlk()
759 static int do_vfs_lock(struct file *file, struct file_lock *fl) do_vfs_lock() argument
762 switch (fl->fl_flags & (FL_POSIX|FL_FLOCK)) { do_vfs_lock()
764 res = posix_lock_file_wait(file, fl); do_vfs_lock()
767 res = flock_lock_file_wait(file, fl); do_vfs_lock()
776 do_unlk(struct file *filp, int cmd, struct file_lock *fl, int is_local) do_unlk() argument
805 status = NFS_PROTO(inode)->lock(filp, cmd, fl); do_unlk()
807 status = do_vfs_lock(filp, fl); do_unlk()
817 do_setlk(struct file *filp, int cmd, struct file_lock *fl, int is_local) do_setlk() argument
835 status = NFS_PROTO(inode)->lock(filp, cmd, fl); do_setlk()
837 status = do_vfs_lock(filp, fl); do_setlk()
862 int nfs_lock(struct file *filp, int cmd, struct file_lock *fl) nfs_lock() argument
868 dprintk("NFS: lock(%pD2, t=%x, fl=%x, r=%lld:%lld)\n", nfs_lock()
869 filp, fl->fl_type, fl->fl_flags, nfs_lock()
870 (long long)fl->fl_start, (long long)fl->fl_end); nfs_lock()
875 if (__mandatory_lock(inode) && fl->fl_type != F_UNLCK) nfs_lock()
882 ret = NFS_PROTO(inode)->lock_check_bounds(fl); nfs_lock()
888 ret = do_getlk(filp, cmd, fl, is_local); nfs_lock()
889 else if (fl->fl_type == F_UNLCK) nfs_lock()
890 ret = do_unlk(filp, cmd, fl, is_local); nfs_lock()
892 ret = do_setlk(filp, cmd, fl, is_local); nfs_lock()
901 int nfs_flock(struct file *filp, int cmd, struct file_lock *fl) nfs_flock() argument
906 dprintk("NFS: flock(%pD2, t=%x, fl=%x)\n", nfs_flock()
907 filp, fl->fl_type, fl->fl_flags); nfs_flock()
909 if (!(fl->fl_flags & FL_FLOCK)) nfs_flock()
918 if (fl->fl_type & LOCK_MAND) nfs_flock()
925 if (fl->fl_type == F_UNLCK) nfs_flock()
926 return do_unlk(filp, cmd, fl, is_local); nfs_flock()
927 return do_setlk(filp, cmd, fl, is_local); nfs_flock()
H A Ddelegation.h58 int nfs4_lock_delegation_recall(struct file_lock *fl, struct nfs4_state *state, const nfs4_stateid *stateid);
H A Dproc.c637 nfs_proc_lock(struct file *filp, int cmd, struct file_lock *fl) nfs_proc_lock() argument
641 return nlmclnt_proc(NFS_SERVER(inode)->nlm_host, cmd, fl); nfs_proc_lock()
646 static int nfs_lock_check_bounds(const struct file_lock *fl) nfs_lock_check_bounds() argument
650 start = (__s32)fl->fl_start; nfs_lock_check_bounds()
651 if ((loff_t)start != fl->fl_start) nfs_lock_check_bounds()
654 if (fl->fl_end != OFFSET_MAX) { nfs_lock_check_bounds()
655 end = (__s32)fl->fl_end; nfs_lock_check_bounds()
656 if ((loff_t)end != fl->fl_end) nfs_lock_check_bounds()
H A Dnfs4state.c917 static void nfs4_fl_release_lock(struct file_lock *fl) nfs4_fl_release_lock() argument
919 nfs4_put_lock_state(fl->fl_u.nfs4_fl.owner); nfs4_fl_release_lock()
927 int nfs4_set_lock_state(struct nfs4_state *state, struct file_lock *fl) nfs4_set_lock_state() argument
931 if (fl->fl_ops != NULL) nfs4_set_lock_state()
933 lsp = nfs4_get_lock_state(state, fl->fl_owner); nfs4_set_lock_state()
936 fl->fl_u.nfs4_fl.owner = lsp; nfs4_set_lock_state()
937 fl->fl_ops = &nfs4_fl_lock_ops; nfs4_set_lock_state()
1388 struct file_lock *fl; nfs4_reclaim_locks() local
1402 list_for_each_entry(fl, list, fl_list) { list_for_each_entry()
1403 if (nfs_file_open_context(fl->fl_file)->state != state) list_for_each_entry()
1406 status = ops->recover_lock(state, fl); list_for_each_entry()
1429 /* kill_proc(fl->fl_pid, SIGLOST, 1); */ list_for_each_entry()
H A Ddelegation.c87 struct file_lock *fl; nfs_delegation_claim_locks() local
98 list_for_each_entry(fl, list, fl_list) { list_for_each_entry()
99 if (nfs_file_open_context(fl->fl_file) != ctx) list_for_each_entry()
102 status = nfs4_lock_delegation_recall(fl, state, stateid); list_for_each_entry()
H A Dnfs4proc.c1734 /* kill_proc(fl->fl_pid, SIGLOST, 1); */ nfs4_handle_delegation_recall_error()
5321 .fl = request, _nfs4_proc_getlk()
5370 static int do_vfs_lock(struct inode *inode, struct file_lock *fl) do_vfs_lock() argument
5373 switch (fl->fl_flags & (FL_POSIX|FL_FLOCK)) { do_vfs_lock()
5375 res = posix_lock_inode_wait(inode, fl); do_vfs_lock()
5378 res = flock_lock_inode_wait(inode, fl); do_vfs_lock()
5391 struct file_lock fl; member in struct:nfs4_unlockdata
5396 static struct nfs4_unlockdata *nfs4_alloc_unlockdata(struct file_lock *fl, nfs4_alloc_unlockdata() argument
5408 p->arg.fl = &p->fl; nfs4_alloc_unlockdata()
5415 memcpy(&p->fl, fl, sizeof(p->fl)); nfs4_alloc_unlockdata()
5438 do_vfs_lock(calldata->lsp->ls_state->inode, &calldata->fl); nfs4_locku_done()
5488 static struct rpc_task *nfs4_do_unlck(struct file_lock *fl, nfs4_do_unlck() argument
5512 fl->fl_type = F_UNLCK; nfs4_do_unlck()
5514 data = nfs4_alloc_unlockdata(fl, ctx, lsp, seqid); nfs4_do_unlck()
5581 struct file_lock fl; member in struct:nfs4_lockdata
5588 static struct nfs4_lockdata *nfs4_alloc_lockdata(struct file_lock *fl, nfs4_alloc_lockdata() argument
5602 p->arg.fl = &p->fl; nfs4_alloc_lockdata()
5618 get_file(fl->fl_file); nfs4_alloc_lockdata()
5619 memcpy(&p->fl, fl, sizeof(p->fl)); nfs4_alloc_lockdata()
5686 data->fl.fl_flags &= ~(FL_SLEEP | FL_ACCESS); nfs4_lock_done()
5687 if (do_vfs_lock(lsp->ls_state->inode, &data->fl) < 0) { nfs4_lock_done()
5722 task = nfs4_do_unlck(&data->fl, data->ctx, data->lsp, nfs4_lock_release()
5731 fput(data->fl.fl_file); nfs4_lock_release()
5759 static int _nfs4_do_setlk(struct nfs4_state *state, int cmd, struct file_lock *fl, int recovery_type) _nfs4_do_setlk() argument
5777 data = nfs4_alloc_lockdata(fl, nfs_file_open_context(fl->fl_file), _nfs4_do_setlk()
5778 fl->fl_u.nfs4_fl.owner, _nfs4_do_setlk()
6025 int nfs4_lock_delegation_recall(struct file_lock *fl, struct nfs4_state *state, const nfs4_stateid *stateid) nfs4_lock_delegation_recall() argument
6030 err = nfs4_set_lock_state(state, fl); nfs4_lock_delegation_recall()
6033 err = _nfs4_do_setlk(state, F_SETLK, fl, NFS_LOCK_NEW); nfs4_lock_delegation_recall()
H A Dwrite.c1178 is_whole_file_wrlock(struct file_lock *fl) is_whole_file_wrlock() argument
1180 return fl->fl_start == 0 && fl->fl_end == OFFSET_MAX && is_whole_file_wrlock()
1181 fl->fl_type == F_WRLCK; is_whole_file_wrlock()
1196 struct file_lock *fl; nfs_can_extend_write() local
1212 fl = list_first_entry(&flctx->flc_posix, struct file_lock, nfs_can_extend_write()
1214 if (is_whole_file_wrlock(fl)) nfs_can_extend_write()
1217 fl = list_first_entry(&flctx->flc_flock, struct file_lock, nfs_can_extend_write()
1219 if (fl->fl_type == F_WRLCK) nfs_can_extend_write()
H A Dnfs4xdr.c1264 static inline int nfs4_lock_type(struct file_lock *fl, int block) nfs4_lock_type() argument
1266 if (fl->fl_type == F_RDLCK) nfs4_lock_type()
1271 static inline uint64_t nfs4_lock_length(struct file_lock *fl) nfs4_lock_length() argument
1273 if (fl->fl_end == OFFSET_MAX) nfs4_lock_length()
1275 return fl->fl_end - fl->fl_start + 1; nfs4_lock_length()
1300 *p++ = cpu_to_be32(nfs4_lock_type(args->fl, args->block)); encode_lock()
1302 p = xdr_encode_hyper(p, args->fl->fl_start); encode_lock()
1303 p = xdr_encode_hyper(p, nfs4_lock_length(args->fl)); encode_lock()
1323 *p++ = cpu_to_be32(nfs4_lock_type(args->fl, 0)); encode_lockt()
1324 p = xdr_encode_hyper(p, args->fl->fl_start); encode_lockt()
1325 p = xdr_encode_hyper(p, nfs4_lock_length(args->fl)); encode_lockt()
1334 encode_uint32(xdr, nfs4_lock_type(args->fl, 0)); encode_locku()
1338 p = xdr_encode_hyper(p, args->fl->fl_start); encode_locku()
1339 xdr_encode_hyper(p, nfs4_lock_length(args->fl)); encode_locku()
4818 static int decode_lock_denied (struct xdr_stream *xdr, struct file_lock *fl) decode_lock_denied() argument
4830 if (fl != NULL) { /* manipulate file lock */ decode_lock_denied()
4831 fl->fl_start = (loff_t)offset; decode_lock_denied()
4832 fl->fl_end = fl->fl_start + (loff_t)length - 1; decode_lock_denied()
4834 fl->fl_end = OFFSET_MAX; decode_lock_denied()
4835 fl->fl_type = F_WRLCK; decode_lock_denied()
4837 fl->fl_type = F_RDLCK; decode_lock_denied()
4838 fl->fl_pid = 0; decode_lock_denied()
H A Dnfs3proc.c869 nfs3_proc_lock(struct file *filp, int cmd, struct file_lock *fl) nfs3_proc_lock() argument
873 return nlmclnt_proc(NFS_SERVER(inode)->nlm_host, cmd, fl); nfs3_proc_lock()
H A Dnfs4_fs.h439 extern int nfs4_set_lock_state(struct nfs4_state *state, struct file_lock *fl);
/linux-4.1.27/net/openvswitch/
H A Dvport.h244 struct flowi4 *fl, ovs_tunnel_route_lookup()
249 memset(fl, 0, sizeof(*fl)); ovs_tunnel_route_lookup()
250 fl->daddr = key->ipv4_dst; ovs_tunnel_route_lookup()
251 fl->saddr = key->ipv4_src; ovs_tunnel_route_lookup()
252 fl->flowi4_tos = RT_TOS(key->ipv4_tos); ovs_tunnel_route_lookup()
253 fl->flowi4_mark = mark; ovs_tunnel_route_lookup()
254 fl->flowi4_proto = protocol; ovs_tunnel_route_lookup()
256 rt = ip_route_output_key(net, fl); ovs_tunnel_route_lookup()
241 ovs_tunnel_route_lookup(struct net *net, const struct ovs_key_ipv4_tunnel *key, u32 mark, struct flowi4 *fl, u8 protocol) ovs_tunnel_route_lookup() argument
H A Dvport-geneve.c180 struct flowi4 fl; geneve_tnl_send() local
192 rt = ovs_tunnel_route_lookup(net, tun_key, skb->mark, &fl, IPPROTO_UDP); geneve_tnl_send()
211 err = geneve_xmit_skb(geneve_port->gs, rt, skb, fl.saddr, geneve_tnl_send()
H A Dvport-gre.c138 struct flowi4 fl; gre_tnl_send() local
151 rt = ovs_tunnel_route_lookup(net, tun_key, skb->mark, &fl, IPPROTO_GRE); gre_tnl_send()
191 return iptunnel_xmit(skb->sk, rt, skb, fl.saddr, gre_tnl_send()
H A Dvport-vxlan.c230 struct flowi4 fl; vxlan_tnl_send() local
242 rt = ovs_tunnel_route_lookup(net, tun_key, skb->mark, &fl, IPPROTO_UDP); vxlan_tnl_send()
259 err = vxlan_xmit_skb(rt, sk, skb, fl.saddr, tun_key->ipv4_dst, vxlan_tnl_send()
H A Dvport.c585 struct flowi4 fl; ovs_tunnel_get_egress_info() local
596 rt = ovs_tunnel_route_lookup(net, tun_key, skb_mark, &fl, ipproto); ovs_tunnel_get_egress_info()
606 fl.saddr, tun_key->ipv4_dst, ovs_tunnel_get_egress_info()
H A Dactions.c350 static void set_ipv6_fl(struct ipv6hdr *nh, u32 fl, u32 mask) set_ipv6_fl() argument
353 SET_MASKED(nh->flow_lbl[0], (u8)(fl >> 16), (u8)(mask >> 16)); set_ipv6_fl()
354 SET_MASKED(nh->flow_lbl[1], (u8)(fl >> 8), (u8)(mask >> 8)); set_ipv6_fl()
355 SET_MASKED(nh->flow_lbl[2], (u8)fl, (u8)mask); set_ipv6_fl()
/linux-4.1.27/net/xfrm/
H A Dxfrm_policy.c63 __xfrm4_selector_match(const struct xfrm_selector *sel, const struct flowi *fl) __xfrm4_selector_match() argument
65 const struct flowi4 *fl4 = &fl->u.ip4; __xfrm4_selector_match()
69 !((xfrm_flowi_dport(fl, &fl4->uli) ^ sel->dport) & sel->dport_mask) && __xfrm4_selector_match()
70 !((xfrm_flowi_sport(fl, &fl4->uli) ^ sel->sport) & sel->sport_mask) && __xfrm4_selector_match()
76 __xfrm6_selector_match(const struct xfrm_selector *sel, const struct flowi *fl) __xfrm6_selector_match() argument
78 const struct flowi6 *fl6 = &fl->u.ip6; __xfrm6_selector_match()
82 !((xfrm_flowi_dport(fl, &fl6->uli) ^ sel->dport) & sel->dport_mask) && __xfrm6_selector_match()
83 !((xfrm_flowi_sport(fl, &fl6->uli) ^ sel->sport) & sel->sport_mask) && __xfrm6_selector_match()
88 bool xfrm_selector_match(const struct xfrm_selector *sel, const struct flowi *fl, xfrm_selector_match() argument
93 return __xfrm4_selector_match(sel, fl); xfrm_selector_match()
95 return __xfrm6_selector_match(sel, fl); xfrm_selector_match()
1068 const struct flowi *fl, xfrm_policy_match()
1076 (fl->flowi_mark & pol->mark.m) != pol->mark.v || xfrm_policy_match()
1080 match = xfrm_selector_match(sel, fl, family); xfrm_policy_match()
1082 ret = security_xfrm_policy_lookup(pol->security, fl->flowi_secid, xfrm_policy_match()
1089 const struct flowi *fl, xfrm_policy_lookup_bytype()
1098 daddr = xfrm_flowi_daddr(fl, family); xfrm_policy_lookup_bytype()
1099 saddr = xfrm_flowi_saddr(fl, family); xfrm_policy_lookup_bytype()
1107 err = xfrm_policy_match(pol, fl, type, family, dir); hlist_for_each_entry()
1123 err = xfrm_policy_match(pol, fl, type, family, dir); hlist_for_each_entry()
1145 __xfrm_policy_lookup(struct net *net, const struct flowi *fl, u16 family, u8 dir) __xfrm_policy_lookup() argument
1150 pol = xfrm_policy_lookup_bytype(net, XFRM_POLICY_TYPE_SUB, fl, family, dir); __xfrm_policy_lookup()
1154 return xfrm_policy_lookup_bytype(net, XFRM_POLICY_TYPE_MAIN, fl, family, dir); __xfrm_policy_lookup()
1176 xfrm_policy_lookup(struct net *net, const struct flowi *fl, u16 family, xfrm_policy_lookup() argument
1184 pol = __xfrm_policy_lookup(net, fl, family, flow_to_policy_dir(dir)); xfrm_policy_lookup()
1213 const struct flowi *fl) xfrm_sk_policy_lookup()
1220 bool match = xfrm_selector_match(&pol->selector, fl, xfrm_sk_policy_lookup()
1230 fl->flowi_secid, xfrm_sk_policy_lookup()
1395 xfrm_tmpl_resolve_one(struct xfrm_policy *policy, const struct flowi *fl, xfrm_tmpl_resolve_one() argument
1401 xfrm_address_t *daddr = xfrm_flowi_daddr(fl, family); xfrm_tmpl_resolve_one()
1402 xfrm_address_t *saddr = xfrm_flowi_saddr(fl, family); xfrm_tmpl_resolve_one()
1423 x = xfrm_state_find(remote, local, fl, tmpl, policy, &error, family); xfrm_tmpl_resolve_one()
1451 xfrm_tmpl_resolve(struct xfrm_policy **pols, int npols, const struct flowi *fl, xfrm_tmpl_resolve() argument
1467 ret = xfrm_tmpl_resolve_one(pols[i], fl, &tpp[cnx], family); xfrm_tmpl_resolve()
1492 static inline int xfrm_get_tos(const struct flowi *fl, int family) xfrm_get_tos() argument
1500 tos = afinfo->get_tos(fl); xfrm_get_tos()
1613 const struct flowi *fl) xfrm_fill_dst()
1622 err = afinfo->fill_dst(xdst, dev, fl); xfrm_fill_dst()
1636 const struct flowi *fl, xfrm_bundle_create()
1654 xfrm_flowi_addr_get(fl, &saddr, &daddr, family); xfrm_bundle_create()
1656 tos = xfrm_get_tos(fl, family); xfrm_bundle_create()
1737 err = xfrm_fill_dst(xdst, dev, fl); xfrm_bundle_create()
1787 const struct flowi *fl) xfrm_dst_update_origin()
1791 return xfrm_dst_alloc_copy((void **)&(xdst->origin), fl, sizeof(*fl)); xfrm_dst_update_origin()
1797 static int xfrm_expand_policies(const struct flowi *fl, u16 family, xfrm_expand_policies() argument
1818 fl, family, xfrm_expand_policies()
1843 const struct flowi *fl, u16 family, xfrm_resolve_and_create_bundle()
1853 err = xfrm_tmpl_resolve(pols, num_pols, fl, xfrm, family); xfrm_resolve_and_create_bundle()
1860 dst = xfrm_bundle_create(pols[0], xfrm, err, fl, dst_orig); xfrm_resolve_and_create_bundle()
1871 err = xfrm_dst_update_origin(dst, fl); xfrm_resolve_and_create_bundle()
1892 struct flowi fl; xfrm_policy_queue_process() local
1903 xfrm_decode_session(skb, &fl, dst->ops->family); xfrm_policy_queue_process()
1907 dst = xfrm_lookup(xp_net(pol), dst->path, &fl, xfrm_policy_queue_process()
1936 xfrm_decode_session(skb, &fl, skb_dst(skb)->ops->family); xfrm_policy_queue_process()
1939 &fl, skb->sk, 0); xfrm_policy_queue_process()
2006 const struct flowi *fl, xfrm_create_dummy_bundle()
2050 err = xfrm_fill_dst(xdst, dev, fl); xfrm_create_dummy_bundle()
2064 xfrm_bundle_lookup(struct net *net, const struct flowi *fl, u16 family, u8 dir, xfrm_bundle_lookup() argument
2096 pols[0] = __xfrm_policy_lookup(net, fl, family, xfrm_bundle_lookup()
2098 err = xfrm_expand_policies(fl, family, pols, xfrm_bundle_lookup()
2108 new_xdst = xfrm_resolve_and_create_bundle(pols, num_pols, fl, family, xfrm_bundle_lookup()
2143 xdst = xfrm_create_dummy_bundle(net, xflo, fl, num_xfrms, family); xfrm_bundle_lookup()
2188 const struct flowi *fl, xfrm_lookup()
2205 pols[0] = xfrm_sk_policy_lookup(sk, XFRM_POLICY_OUT, fl); xfrm_lookup()
2206 err = xfrm_expand_policies(fl, family, pols, xfrm_lookup()
2218 pols, num_pols, fl, xfrm_lookup()
2247 flo = flow_cache_lookup(net, fl, family, dir, xfrm_lookup()
2336 const struct flowi *fl, xfrm_lookup_route()
2339 struct dst_entry *dst = xfrm_lookup(net, dst_orig, fl, sk, xfrm_lookup_route()
2351 xfrm_secpath_reject(int idx, struct sk_buff *skb, const struct flowi *fl) xfrm_secpath_reject() argument
2360 return x->type->reject(x, skb, fl); xfrm_secpath_reject()
2415 int __xfrm_decode_session(struct sk_buff *skb, struct flowi *fl, __xfrm_decode_session() argument
2424 afinfo->decode_session(skb, fl, reverse); __xfrm_decode_session()
2425 err = security_xfrm_decode_session(skb, &fl->flowi_secid); __xfrm_decode_session()
2453 struct flowi fl; __xfrm_policy_check() local
2461 if (__xfrm_decode_session(skb, &fl, family, reverse) < 0) { __xfrm_policy_check()
2466 nf_nat_decode_session(skb, &fl, family); __xfrm_policy_check()
2474 if (!xfrm_selector_match(&x->sel, &fl, family)) { __xfrm_policy_check()
2483 pol = xfrm_sk_policy_lookup(sk, dir, &fl); __xfrm_policy_check()
2493 flo = flow_cache_lookup(net, &fl, family, fl_dir, __xfrm_policy_check()
2508 xfrm_secpath_reject(xerr_idx, skb, &fl); __xfrm_policy_check()
2522 &fl, family, __xfrm_policy_check()
2594 xfrm_secpath_reject(xerr_idx, skb, &fl); __xfrm_policy_check()
2604 struct flowi fl; __xfrm_route_forward() local
2608 if (xfrm_decode_session(skb, &fl, family) < 0) { __xfrm_route_forward()
2615 dst = xfrm_lookup(net, skb_dst(skb), &fl, NULL, XFRM_LOOKUP_QUEUE); __xfrm_route_forward()
1067 xfrm_policy_match(const struct xfrm_policy *pol, const struct flowi *fl, u8 type, u16 family, int dir) xfrm_policy_match() argument
1088 xfrm_policy_lookup_bytype(struct net *net, u8 type, const struct flowi *fl, u16 family, u8 dir) xfrm_policy_lookup_bytype() argument
1212 xfrm_sk_policy_lookup(struct sock *sk, int dir, const struct flowi *fl) xfrm_sk_policy_lookup() argument
1612 xfrm_fill_dst(struct xfrm_dst *xdst, struct net_device *dev, const struct flowi *fl) xfrm_fill_dst() argument
1634 xfrm_bundle_create(struct xfrm_policy *policy, struct xfrm_state **xfrm, int nx, const struct flowi *fl, struct dst_entry *dst) xfrm_bundle_create() argument
1786 xfrm_dst_update_origin(struct dst_entry *dst, const struct flowi *fl) xfrm_dst_update_origin() argument
1842 xfrm_resolve_and_create_bundle(struct xfrm_policy **pols, int num_pols, const struct flowi *fl, u16 family, struct dst_entry *dst_orig) xfrm_resolve_and_create_bundle() argument
2004 xfrm_create_dummy_bundle(struct net *net, struct xfrm_flo *xflo, const struct flowi *fl, int num_xfrms, u16 family) xfrm_create_dummy_bundle() argument
2187 xfrm_lookup(struct net *net, struct dst_entry *dst_orig, const struct flowi *fl, struct sock *sk, int flags) xfrm_lookup() argument
2335 xfrm_lookup_route(struct net *net, struct dst_entry *dst_orig, const struct flowi *fl, struct sock *sk, int flags) xfrm_lookup_route() argument
H A Dxfrm_state.c633 xfrm_init_tempstate(struct xfrm_state *x, const struct flowi *fl, xfrm_init_tempstate() argument
641 afinfo->init_tempsel(&x->sel, fl); xfrm_init_tempstate()
727 const struct flowi *fl, unsigned short family, xfrm_state_look_at()
744 !xfrm_selector_match(&x->sel, fl, x->sel.family)) || xfrm_state_look_at()
745 !security_xfrm_state_pol_flow_match(x, pol, fl)) xfrm_state_look_at()
757 if (xfrm_selector_match(&x->sel, fl, x->sel.family) && xfrm_state_look_at()
758 security_xfrm_state_pol_flow_match(x, pol, fl)) xfrm_state_look_at()
765 const struct flowi *fl, struct xfrm_tmpl *tmpl, xfrm_state_find()
793 xfrm_state_look_at(pol, x, fl, encap_family, xfrm_state_find()
809 xfrm_state_look_at(pol, x, fl, encap_family, xfrm_state_find()
841 xfrm_init_tempstate(x, fl, tmpl, daddr, saddr, family); xfrm_state_find()
844 error = security_xfrm_state_alloc_acquire(x, pol->security, fl->flowi_secid); xfrm_state_find()
726 xfrm_state_look_at(struct xfrm_policy *pol, struct xfrm_state *x, const struct flowi *fl, unsigned short family, struct xfrm_state **best, int *acq_in_progress, int *error) xfrm_state_look_at() argument
764 xfrm_state_find(const xfrm_address_t *daddr, const xfrm_address_t *saddr, const struct flowi *fl, struct xfrm_tmpl *tmpl, struct xfrm_policy *pol, int *err, unsigned short family) xfrm_state_find() argument
/linux-4.1.27/drivers/net/ethernet/chelsio/cxgb4/
H A Dsge.c234 * @fl: the FL
240 static inline unsigned int fl_cap(const struct sge_fl *fl) fl_cap() argument
242 return fl->size - 8; /* 1 descriptor = 8 buffers */ fl_cap()
248 * @fl: the Free List
255 const struct sge_fl *fl) fl_starving()
259 return fl->avail - fl->pend_cred <= s->fl_starve_thres; fl_starving()
675 static inline void __refill_fl(struct adapter *adap, struct sge_fl *fl) __refill_fl() argument
677 refill_fl(adap, fl, min(MAX_RX_REFILL, fl_cap(fl) - fl->avail), __refill_fl()
2023 free_rx_bufs(q->adap, &rxq->fl, 1); process_responses()
2032 rsd = &rxq->fl.sdesc[rxq->fl.cidx]; process_responses()
2040 unmap_rx_buf(q->adap, &rxq->fl); process_responses()
2060 restore_rx_bufs(&si, &rxq->fl, frags); process_responses()
2077 if (q->offset >= 0 && rxq->fl.size - rxq->fl.avail >= 16) process_responses()
2078 __refill_fl(q->adap, &rxq->fl); process_responses()
2290 struct sge_fl *fl = s->egr_map[id]; sge_rx_timer_cb() local
2295 if (fl_starving(adap, fl)) { sge_rx_timer_cb()
2296 rxq = container_of(fl, struct sge_eth_rxq, fl); sge_rx_timer_cb()
2298 fl->starving++; sge_rx_timer_cb()
2442 struct sge_fl *fl, rspq_handler_t hnd) t4_sge_alloc_rxq()
2475 if (fl) { t4_sge_alloc_rxq()
2476 fl->size = roundup(fl->size, 8); t4_sge_alloc_rxq()
2477 fl->desc = alloc_ring(adap->pdev_dev, fl->size, sizeof(__be64), t4_sge_alloc_rxq()
2478 sizeof(struct rx_sw_desc), &fl->addr, t4_sge_alloc_rxq()
2479 &fl->sdesc, s->stat_len, NUMA_NO_NODE); t4_sge_alloc_rxq()
2480 if (!fl->desc) t4_sge_alloc_rxq()
2483 flsz = fl->size / 8 + s->stat_len / sizeof(struct tx_desc); t4_sge_alloc_rxq()
2491 c.fl0addr = cpu_to_be64(fl->addr); t4_sge_alloc_rxq()
2515 iq->offset = fl ? 0 : -1; t4_sge_alloc_rxq()
2519 if (fl) { t4_sge_alloc_rxq()
2520 fl->cntxt_id = ntohs(c.fl0id); t4_sge_alloc_rxq()
2521 fl->avail = fl->pend_cred = 0; t4_sge_alloc_rxq()
2522 fl->pidx = fl->cidx = 0; t4_sge_alloc_rxq()
2523 fl->alloc_failed = fl->large_alloc_failed = fl->starving = 0; t4_sge_alloc_rxq()
2524 adap->sge.egr_map[fl->cntxt_id - adap->sge.egr_start] = fl; t4_sge_alloc_rxq()
2529 fl->bar2_addr = bar2_address(adap, t4_sge_alloc_rxq()
2530 fl->cntxt_id, t4_sge_alloc_rxq()
2532 &fl->bar2_qid); t4_sge_alloc_rxq()
2533 refill_fl(adap, fl, fl_cap(fl), GFP_KERNEL); t4_sge_alloc_rxq()
2545 if (fl && fl->desc) { t4_sge_alloc_rxq()
2546 kfree(fl->sdesc); t4_sge_alloc_rxq()
2547 fl->sdesc = NULL; t4_sge_alloc_rxq()
2549 fl->desc, fl->addr); t4_sge_alloc_rxq()
2550 fl->desc = NULL; t4_sge_alloc_rxq()
2747 struct sge_fl *fl) free_rspq_fl()
2750 unsigned int fl_id = fl ? fl->cntxt_id : 0xffff; free_rspq_fl()
2763 if (fl) { free_rspq_fl()
2764 free_rx_bufs(adap, fl, fl->avail); free_rspq_fl()
2765 dma_free_coherent(adap->pdev_dev, fl->size * 8 + s->stat_len, free_rspq_fl()
2766 fl->desc, fl->addr); free_rspq_fl()
2767 kfree(fl->sdesc); free_rspq_fl()
2768 fl->sdesc = NULL; free_rspq_fl()
2769 fl->cntxt_id = 0; free_rspq_fl()
2770 fl->desc = NULL; free_rspq_fl()
2787 q->fl.size ? &q->fl : NULL); t4_free_ofld_rxqs()
2806 eq->fl.size ? &eq->fl : NULL); t4_free_sge_resources()
254 fl_starving(const struct adapter *adapter, const struct sge_fl *fl) fl_starving() argument
2440 t4_sge_alloc_rxq(struct adapter *adap, struct sge_rspq *iq, bool fwevtq, struct net_device *dev, int intr_idx, struct sge_fl *fl, rspq_handler_t hnd) t4_sge_alloc_rxq() argument
2746 free_rspq_fl(struct adapter *adap, struct sge_rspq *rq, struct sge_fl *fl) free_rspq_fl() argument
H A Dcxgb4_debugfs.c1741 R("FL ID:", fl.cntxt_id); sge_qinfo_show()
1742 R("FL size:", fl.size - 8); sge_qinfo_show()
1743 R("FL pend:", fl.pend_cred); sge_qinfo_show()
1744 R("FL avail:", fl.avail); sge_qinfo_show()
1745 R("FL PIDX:", fl.pidx); sge_qinfo_show()
1746 R("FL CIDX:", fl.cidx); sge_qinfo_show()
1766 R("FL ID:", fl.cntxt_id); sge_qinfo_show()
1767 R("FL size:", fl.size - 8); sge_qinfo_show()
1768 R("FL pend:", fl.pend_cred); sge_qinfo_show()
1769 R("FL avail:", fl.avail); sge_qinfo_show()
1770 R("FL PIDX:", fl.pidx); sge_qinfo_show()
1771 R("FL CIDX:", fl.cidx); sge_qinfo_show()
1788 R("FL ID:", fl.cntxt_id); sge_qinfo_show()
1789 R("FL size:", fl.size - 8); sge_qinfo_show()
1790 R("FL pend:", fl.pend_cred); sge_qinfo_show()
1791 R("FL avail:", fl.avail); sge_qinfo_show()
1792 R("FL PIDX:", fl.pidx); sge_qinfo_show()
1793 R("FL CIDX:", fl.cidx); sge_qinfo_show()
H A Dcxgb4_ethtool.c490 e->rx_pending = s->ethrxq[pi->first_qset].fl.size - 8; get_sge_param()
515 s->ethrxq[pi->first_qset + i].fl.size = e->rx_pending + 8; set_sge_param()
H A Dcxgb4.h530 struct sge_fl fl; member in struct:sge_eth_rxq
543 struct sge_fl fl; member in struct:sge_ofld_rxq
1058 struct sge_fl *fl, rspq_handler_t hnd);
H A Dcxgb4_main.c979 msi_idx, q->fl.size ? &q->fl : NULL, alloc_ofld_rxqs()
1046 msi_idx, &q->fl, for_each_port()
4197 r->fl.size = 72;
4214 r->fl.size = 72;
4222 r->fl.size = 72;
/linux-4.1.27/drivers/net/ethernet/chelsio/cxgb/
H A Dsge.c997 * @fl: the free list
1003 static void recycle_fl_buf(struct freelQ *fl, int idx) recycle_fl_buf() argument
1005 struct freelQ_e *from = &fl->entries[idx]; recycle_fl_buf()
1006 struct freelQ_e *to = &fl->entries[fl->pidx]; recycle_fl_buf()
1008 fl->centries[fl->pidx] = fl->centries[idx]; recycle_fl_buf()
1011 to->len_gen = G_CMD_LEN(from->len_gen) | V_CMD_GEN1(fl->genbit); recycle_fl_buf()
1013 to->gen2 = V_CMD_GEN2(fl->genbit); recycle_fl_buf()
1014 fl->credits++; recycle_fl_buf()
1016 if (++fl->pidx == fl->size) { recycle_fl_buf()
1017 fl->pidx = 0; recycle_fl_buf()
1018 fl->genbit ^= 1; recycle_fl_buf()
1029 * @fl: the SGE free list holding the packet
1041 struct freelQ *fl, unsigned int len) get_packet()
1043 const struct freelQ_ce *ce = &fl->centries[fl->cidx]; get_packet()
1062 recycle_fl_buf(fl, fl->cidx); get_packet()
1067 if (fl->credits < 2) { get_packet()
1068 recycle_fl_buf(fl, fl->cidx); get_packet()
1084 * @fl: the free list that received the packet
1090 static void unexpected_offload(struct adapter *adapter, struct freelQ *fl) unexpected_offload() argument
1092 struct freelQ_ce *ce = &fl->centries[fl->cidx]; unexpected_offload()
1099 recycle_fl_buf(fl, fl->cidx); unexpected_offload()
1348 * @fl: the free list that contains the packet buffer
1353 static void sge_rx(struct sge *sge, struct freelQ *fl, unsigned int len) sge_rx() argument
1361 skb = get_packet(adapter, fl, len - sge->rx_pkt_pad); sge_rx()
1497 struct freelQ *fl = &sge->freelQ[e->FreelistQid]; process_responses() local
1501 unexpected_offload(adapter, fl); process_responses()
1503 sge_rx(sge, fl, e->BufferLength); process_responses()
1511 if (++fl->cidx == fl->size) process_responses()
1512 fl->cidx = 0; process_responses()
1513 prefetch(fl->centries[fl->cidx].skb); process_responses()
1515 if (unlikely(--fl->credits < process_responses()
1516 fl->size - SGE_FREEL_REFILL_THRESH)) process_responses()
1517 refill_free_list(sge, fl); process_responses()
1562 const struct freelQ *fl = &sge->freelQ[e->FreelistQid]; process_pure_responses() local
1566 prefetch(fl->centries[fl->cidx].skb); process_pure_responses()
1040 get_packet(struct adapter *adapter, struct freelQ *fl, unsigned int len) get_packet() argument
/linux-4.1.27/drivers/net/ethernet/chelsio/cxgb3/
H A Dsge.c169 return container_of(q, struct sge_qset, fl[qidx]); fl_to_qset()
558 static inline void __refill_fl(struct adapter *adap, struct sge_fl *fl) __refill_fl() argument
560 refill_fl(adap, fl, min(MAX_RX_REFILL, fl->size - fl->credits), __refill_fl()
653 memset(q->fl, 0, sizeof(struct sge_fl) * SGE_RXQ_PER_SET); t3_reset_qset()
678 if (q->fl[i].desc) { t3_free_qset()
680 t3_sge_disable_fl(adapter, q->fl[i].cntxt_id); t3_free_qset()
682 free_rx_bufs(pdev, &q->fl[i]); t3_free_qset()
683 kfree(q->fl[i].sdesc); t3_free_qset()
685 q->fl[i].size * t3_free_qset()
686 sizeof(struct rx_desc), q->fl[i].desc, t3_free_qset()
687 q->fl[i].phys_addr); t3_free_qset()
729 qs->fl[0].cntxt_id = 2 * id; init_qset_cntxt()
730 qs->fl[1].cntxt_id = 2 * id + 1; init_qset_cntxt()
767 * @fl: the SGE free list holding the packet
779 static struct sk_buff *get_packet(struct adapter *adap, struct sge_fl *fl, get_packet() argument
783 struct rx_sw_desc *sd = &fl->sdesc[fl->cidx]; get_packet()
786 fl->credits--; get_packet()
802 recycle_rx_buf(adap, fl, fl->cidx); get_packet()
806 if (unlikely(fl->credits < drop_thres) && get_packet()
807 refill_fl(adap, fl, min(MAX_RX_REFILL, fl->size - fl->credits - 1), get_packet()
813 fl->buf_size, PCI_DMA_FROMDEVICE); get_packet()
816 __refill_fl(adap, fl); get_packet()
823 * @fl: the SGE free list holding the packet
838 static struct sk_buff *get_packet_pg(struct adapter *adap, struct sge_fl *fl, get_packet_pg() argument
843 struct rx_sw_desc *sd = &fl->sdesc[fl->cidx]; get_packet_pg()
861 fl->credits--; get_packet_pg()
862 recycle_rx_buf(adap, fl, fl->cidx); get_packet_pg()
867 if (unlikely(q->rx_recycle_buf || (!skb && fl->credits <= drop_thres))) get_packet_pg()
884 if (!*sd->pg_chunk.p_cnt && sd->pg_chunk.page != fl->pg_chunk.page) get_packet_pg()
887 fl->alloc_size, get_packet_pg()
907 fl->credits--; get_packet_pg()
2056 * @fl: the free list containing the page chunk to add
2064 struct sge_fl *fl, int len, int complete) lro_add_page()
2066 struct rx_sw_desc *sd = &fl->sdesc[fl->cidx]; lro_add_page()
2079 fl->credits--; lro_add_page()
2083 fl->buf_size - SGE_PG_RSVD, lro_add_page()
2087 if (!*sd->pg_chunk.p_cnt && sd->pg_chunk.page != fl->pg_chunk.page) lro_add_page()
2090 fl->alloc_size, lro_add_page()
2302 struct sge_fl *fl; process_responses() local
2306 fl = (len & F_RSPD_FLQ) ? &qs->fl[1] : &qs->fl[0]; process_responses()
2307 if (fl->use_pages) { process_responses()
2308 void *addr = fl->sdesc[fl->cidx].pg_chunk.va; process_responses()
2314 __refill_fl(adap, fl); process_responses()
2316 lro_add_page(adap, qs, fl, process_responses()
2322 skb = get_packet_pg(adap, fl, q, process_responses()
2328 skb = get_packet(adap, fl, G_RSPD_LEN(len), process_responses()
2337 if (++fl->cidx == fl->size) process_responses()
2338 fl->cidx = 0; process_responses()
2928 if (qs->fl[0].credits < qs->fl[0].size) sge_timer_rx()
2929 __refill_fl(adap, &qs->fl[0]); sge_timer_rx()
2930 if (qs->fl[1].credits < qs->fl[1].size) sge_timer_rx()
2931 __refill_fl(adap, &qs->fl[1]); sge_timer_rx()
2982 q->fl[0].desc = alloc_ring(adapter->pdev, p->fl_size, t3_sge_alloc_qset()
2985 &q->fl[0].phys_addr, &q->fl[0].sdesc); t3_sge_alloc_qset()
2986 if (!q->fl[0].desc) t3_sge_alloc_qset()
2989 q->fl[1].desc = alloc_ring(adapter->pdev, p->jumbo_size, t3_sge_alloc_qset()
2992 &q->fl[1].phys_addr, &q->fl[1].sdesc); t3_sge_alloc_qset()
2993 if (!q->fl[1].desc) t3_sge_alloc_qset()
3027 q->fl[0].gen = q->fl[1].gen = 1; t3_sge_alloc_qset()
3028 q->fl[0].size = p->fl_size; t3_sge_alloc_qset()
3029 q->fl[1].size = p->jumbo_size; t3_sge_alloc_qset()
3040 q->fl[0].buf_size = FL0_PG_CHUNK_SIZE; t3_sge_alloc_qset()
3042 q->fl[0].buf_size = SGE_RX_SM_BUF_SIZE + sizeof(struct cpl_rx_data); t3_sge_alloc_qset()
3045 q->fl[1].buf_size = FL1_PG_CHUNK_SIZE; t3_sge_alloc_qset()
3047 q->fl[1].buf_size = is_offload(adapter) ? t3_sge_alloc_qset()
3052 q->fl[0].use_pages = FL0_PG_CHUNK_SIZE > 0; t3_sge_alloc_qset()
3053 q->fl[1].use_pages = FL1_PG_CHUNK_SIZE > 0; t3_sge_alloc_qset()
3054 q->fl[0].order = FL0_PG_ORDER; t3_sge_alloc_qset()
3055 q->fl[1].order = FL1_PG_ORDER; t3_sge_alloc_qset()
3056 q->fl[0].alloc_size = FL0_PG_ALLOC_SIZE; t3_sge_alloc_qset()
3057 q->fl[1].alloc_size = FL1_PG_ALLOC_SIZE; t3_sge_alloc_qset()
3064 q->fl[0].buf_size - SGE_PG_RSVD, 1, 0); t3_sge_alloc_qset()
3069 ret = t3_sge_init_flcntxt(adapter, q->fl[i].cntxt_id, 0, t3_sge_alloc_qset()
3070 q->fl[i].phys_addr, q->fl[i].size, t3_sge_alloc_qset()
3071 q->fl[i].buf_size - SGE_PG_RSVD, t3_sge_alloc_qset()
3110 avail = refill_fl(adapter, &q->fl[0], q->fl[0].size, t3_sge_alloc_qset()
3116 if (avail < q->fl[0].size) t3_sge_alloc_qset()
3120 avail = refill_fl(adapter, &q->fl[1], q->fl[1].size, t3_sge_alloc_qset()
3122 if (avail < q->fl[1].size) t3_sge_alloc_qset()
2063 lro_add_page(struct adapter *adap, struct sge_qset *qs, struct sge_fl *fl, int len, int complete) lro_add_page() argument
H A Dadapter.h204 struct sge_fl fl[SGE_RXQ_PER_SET]; member in struct:sge_qset
H A Dcxgb3_main.c2750 qs->fl[i].empty += (v & 1);
/linux-4.1.27/include/linux/lockd/
H A Dbind.h56 struct file_lock *fl);
H A Dxdr.h43 struct file_lock fl; member in struct:nlm_lock
H A Dlockd.h208 struct nlm_wait * nlmclnt_prepare_block(struct nlm_host *host, struct file_lock *fl);
/linux-4.1.27/fs/gfs2/
H A Dfile.c980 * @fl: type and range of lock
985 static int gfs2_lock(struct file *file, int cmd, struct file_lock *fl) gfs2_lock() argument
991 if (!(fl->fl_flags & FL_POSIX)) gfs2_lock()
993 if (__mandatory_lock(&ip->i_inode) && fl->fl_type != F_UNLCK) gfs2_lock()
999 fl->fl_type = F_UNLCK; gfs2_lock()
1002 if (fl->fl_type == F_UNLCK) gfs2_lock()
1003 posix_lock_file_wait(file, fl); gfs2_lock()
1007 return dlm_posix_get(ls->ls_dlm, ip->i_no_addr, file, fl); gfs2_lock()
1008 else if (fl->fl_type == F_UNLCK) gfs2_lock()
1009 return dlm_posix_unlock(ls->ls_dlm, ip->i_no_addr, file, fl); gfs2_lock()
1011 return dlm_posix_lock(ls->ls_dlm, ip->i_no_addr, file, cmd, fl); gfs2_lock()
1014 static int do_flock(struct file *file, int cmd, struct file_lock *fl) do_flock() argument
1025 state = (fl->fl_type == F_WRLCK) ? LM_ST_EXCLUSIVE : LM_ST_SHARED; do_flock()
1059 error = flock_lock_file_wait(file, fl); do_flock()
1068 static void do_unflock(struct file *file, struct file_lock *fl) do_unflock() argument
1074 flock_lock_file_wait(file, fl); do_unflock()
1086 * @fl: type and range of lock
1091 static int gfs2_flock(struct file *file, int cmd, struct file_lock *fl) gfs2_flock() argument
1093 if (!(fl->fl_flags & FL_FLOCK)) gfs2_flock()
1095 if (fl->fl_type & LOCK_MAND) gfs2_flock()
1098 if (fl->fl_type == F_UNLCK) { gfs2_flock()
1099 do_unflock(file, fl); gfs2_flock()
1102 return do_flock(file, cmd, fl); gfs2_flock()
/linux-4.1.27/arch/powerpc/kernel/
H A Drtas_flash.c320 struct flash_block_list *fl; rtas_flash_write() local
337 fl = uf->flist; rtas_flash_write()
338 while (fl->next) rtas_flash_write()
339 fl = fl->next; /* seek to last block_list for append */ rtas_flash_write()
340 next_free = fl->num_blocks; rtas_flash_write()
343 fl->next = kmem_cache_zalloc(flash_block_cache, GFP_KERNEL); rtas_flash_write()
344 if (!fl->next) rtas_flash_write()
346 fl = fl->next; rtas_flash_write()
361 fl->blocks[next_free].data = p; rtas_flash_write()
362 fl->blocks[next_free].length = count; rtas_flash_write()
363 fl->num_blocks++; rtas_flash_write()
/linux-4.1.27/include/net/
H A Ddn_route.h64 * The fl structure is what we used to look up the route.
66 * except for local input routes, where the rt_saddr = fl.fld_dst and
67 * rt_daddr = fl.fld_src to allow the route to be used for returning
H A Ddn_fib.h150 #define dn_fib_lookup(fl, res) (-ESRCH)
152 #define dn_fib_select_multipath(fl, res) do { } while(0)
H A Dxfrm.h292 struct flowi *fl,
294 int (*get_tos)(const struct flowi *fl);
302 const struct flowi *fl);
327 const struct flowi *fl);
855 __be16 xfrm_flowi_sport(const struct flowi *fl, const union flowi_uli *uli) xfrm_flowi_sport() argument
858 switch(fl->flowi_proto) { xfrm_flowi_sport()
882 __be16 xfrm_flowi_dport(const struct flowi *fl, const union flowi_uli *uli) xfrm_flowi_dport() argument
885 switch(fl->flowi_proto) { xfrm_flowi_dport()
906 const struct flowi *fl, unsigned short family);
1105 int __xfrm_decode_session(struct sk_buff *skb, struct flowi *fl,
1108 static inline int xfrm_decode_session(struct sk_buff *skb, struct flowi *fl, xfrm_decode_session() argument
1111 return __xfrm_decode_session(skb, fl, family, 0); xfrm_decode_session()
1115 struct flowi *fl, xfrm_decode_session_reverse()
1118 return __xfrm_decode_session(skb, fl, family, 1); xfrm_decode_session_reverse()
1186 struct flowi *fl, xfrm_decode_session_reverse()
1207 xfrm_address_t *xfrm_flowi_daddr(const struct flowi *fl, unsigned short family) xfrm_flowi_daddr() argument
1211 return (xfrm_address_t *)&fl->u.ip4.daddr; xfrm_flowi_daddr()
1213 return (xfrm_address_t *)&fl->u.ip6.daddr; xfrm_flowi_daddr()
1219 xfrm_address_t *xfrm_flowi_saddr(const struct flowi *fl, unsigned short family) xfrm_flowi_saddr() argument
1223 return (xfrm_address_t *)&fl->u.ip4.saddr; xfrm_flowi_saddr()
1225 return (xfrm_address_t *)&fl->u.ip6.saddr; xfrm_flowi_saddr()
1231 void xfrm_flowi_addr_get(const struct flowi *fl, xfrm_flowi_addr_get() argument
1237 memcpy(&saddr->a4, &fl->u.ip4.saddr, sizeof(saddr->a4)); xfrm_flowi_addr_get()
1238 memcpy(&daddr->a4, &fl->u.ip4.daddr, sizeof(daddr->a4)); xfrm_flowi_addr_get()
1241 saddr->in6 = fl->u.ip6.saddr; xfrm_flowi_addr_get()
1242 daddr->in6 = fl->u.ip6.daddr; xfrm_flowi_addr_get()
1284 xfrm_state_addr_flow_check(const struct xfrm_state *x, const struct flowi *fl, xfrm_state_addr_flow_check() argument
1290 (const xfrm_address_t *)&fl->u.ip4.daddr, xfrm_state_addr_flow_check()
1291 (const xfrm_address_t *)&fl->u.ip4.saddr); xfrm_state_addr_flow_check()
1294 (const xfrm_address_t *)&fl->u.ip6.daddr, xfrm_state_addr_flow_check()
1295 (const xfrm_address_t *)&fl->u.ip6.saddr); xfrm_state_addr_flow_check()
1433 const struct flowi *fl,
1114 xfrm_decode_session_reverse(struct sk_buff *skb, struct flowi *fl, unsigned int family) xfrm_decode_session_reverse() argument
1185 xfrm_decode_session_reverse(struct sk_buff *skb, struct flowi *fl, unsigned int family) xfrm_decode_session_reverse() argument
H A Dinet6_connection_sock.h42 int inet6_csk_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl);
H A Ddst.h524 const struct flowi *fl, struct sock *sk, xfrm_lookup()
532 const struct flowi *fl, xfrm_lookup_route()
546 const struct flowi *fl, struct sock *sk,
550 const struct flowi *fl, struct sock *sk,
522 xfrm_lookup(struct net *net, struct dst_entry *dst_orig, const struct flowi *fl, struct sock *sk, int flags) xfrm_lookup() argument
530 xfrm_lookup_route(struct net *net, struct dst_entry *dst_orig, const struct flowi *fl, struct sock *sk, int flags) xfrm_lookup_route() argument
H A Dip6_tunnel.h41 struct flowi fl; /* flowi template for xmit */ member in struct:ip6_tnl
H A Dipv6.h250 struct ip6_flowlabel *fl; member in struct:ipv6_fl_socklist
274 struct ip6_flowlabel *fl,
283 static inline void fl6_sock_release(struct ip6_flowlabel *fl) fl6_sock_release() argument
285 if (fl) fl6_sock_release()
286 atomic_dec(&fl->users); fl6_sock_release()
H A Dinet_sock.h131 struct flowi fl; member in struct:inet_cork_full
H A Dinet_connection_sock.h39 int (*queue_xmit)(struct sock *sk, struct sk_buff *skb, struct flowi *fl);
H A Dip.h122 int ip_queue_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl);
H A Dsch_generic.h406 void tcf_destroy_chain(struct tcf_proto __rcu **fl);
H A Dtcp.h1648 struct dst_entry *(*route_req)(struct sock *sk, struct flowi *fl,
1653 struct flowi *fl, struct request_sock *req,
/linux-4.1.27/net/sched/
H A Dsch_ingress.c63 struct tcf_proto *fl = rcu_dereference_bh(p->filter_list); ingress_enqueue() local
66 result = tc_classify(skb, fl, &res); ingress_enqueue()
H A Dsch_prio.c39 struct tcf_proto *fl; prio_classify() local
44 fl = rcu_dereference_bh(q->filter_list); prio_classify()
45 err = tc_classify(skb, fl, &res); prio_classify()
55 if (!fl || err < 0) { prio_classify()
H A Dsch_sfb.c256 static bool sfb_classify(struct sk_buff *skb, struct tcf_proto *fl, sfb_classify() argument
262 result = tc_classify(skb, fl, &res); sfb_classify()
284 struct tcf_proto *fl; sfb_enqueue() local
310 fl = rcu_dereference_bh(q->filter_list); sfb_enqueue()
311 if (fl) { sfb_enqueue()
313 if (!sfb_classify(skb, fl, &ret, &salt)) sfb_enqueue()
H A Dsch_drr.c323 struct tcf_proto *fl; drr_classify() local
333 fl = rcu_dereference_bh(q->filter_list); drr_classify()
334 result = tc_classify(skb, fl, &res); drr_classify()
H A Dsch_multiq.c45 struct tcf_proto *fl = rcu_dereference_bh(q->filter_list); multiq_classify() local
49 err = tc_classify(skb, fl, &res); multiq_classify()
H A Dsch_choke.c206 struct tcf_proto *fl; choke_classify() local
209 fl = rcu_dereference_bh(q->filter_list); choke_classify()
210 result = tc_classify(skb, fl, &res); choke_classify()
H A Dsch_atm.c373 struct tcf_proto *fl; atm_tc_enqueue() local
376 fl = rcu_dereference_bh(flow->filter_list); atm_tc_enqueue()
377 if (fl) { atm_tc_enqueue()
378 result = tc_classify_compat(skb, fl, &res); atm_tc_enqueue()
H A Dsch_sfq.c190 struct tcf_proto *fl; sfq_classify() local
198 fl = rcu_dereference_bh(q->filter_list); sfq_classify()
199 if (!fl) { sfq_classify()
205 result = tc_classify(skb, fl, &res); sfq_classify()
H A Dsch_dsmark.c232 struct tcf_proto *fl = rcu_dereference_bh(p->filter_list); dsmark_enqueue() local
233 int result = tc_classify(skb, fl, &res); dsmark_enqueue()
H A Dsch_cbq.c224 struct tcf_proto *fl; cbq_classify() local
239 fl = rcu_dereference_bh(head->filter_list); cbq_classify()
243 result = tc_classify_compat(skb, fl, &res); cbq_classify()
244 if (!fl || result < 0) cbq_classify()
H A Dsch_api.c1883 void tcf_destroy_chain(struct tcf_proto __rcu **fl) tcf_destroy_chain() argument
1887 while ((tp = rtnl_dereference(*fl)) != NULL) { tcf_destroy_chain()
1888 RCU_INIT_POINTER(*fl, tp->next); tcf_destroy_chain()
H A Dsch_qfq.c710 struct tcf_proto *fl; qfq_classify() local
721 fl = rcu_dereference_bh(q->filter_list); qfq_classify()
722 result = tc_classify(skb, fl, &res); qfq_classify()
H A Dsch_htb.c1532 struct tcf_proto __rcu **fl = cl ? &cl->filter_list : &q->filter_list; htb_find_tcf() local
1534 return fl; htb_find_tcf()
/linux-4.1.27/drivers/media/usb/pvrusb2/
H A Dpvrusb2-ioread.h34 int pvr2_ioread_set_enabled(struct pvr2_ioread *,int fl);
H A Dpvrusb2-ioread.c243 int pvr2_ioread_set_enabled(struct pvr2_ioread *cp,int fl) pvr2_ioread_set_enabled() argument
246 if ((!fl) == (!(cp->enabled))) return ret; pvr2_ioread_set_enabled()
249 if (fl) { pvr2_ioread_set_enabled()
H A Dpvrusb2-context.c43 static void pvr2_context_set_notify(struct pvr2_context *mp, int fl) pvr2_context_set_notify() argument
47 if (fl) { pvr2_context_set_notify()
H A Dpvrusb2-io.c183 int fl; pvr2_buffer_set_ready() local
194 fl = (sp->r_count == 0); pvr2_buffer_set_ready()
206 return fl; pvr2_buffer_set_ready()
H A Dpvrusb2-hdw.c1721 int fl; pvr2_hdw_untrip() local
1723 fl = pvr2_hdw_untrip_unlocked(hdw); pvr2_hdw_untrip()
1725 if (fl) pvr2_hdw_state_sched(hdw); pvr2_hdw_untrip()
1764 int fl; pvr2_hdw_set_stream_type() local
1766 if ((fl = (hdw->desired_stream_type != config)) != 0) { pvr2_hdw_set_stream_type()
1774 if (fl) return 0; pvr2_hdw_set_stream_type()
3222 int fl; pvr2_hdw_commit_ctl() local
3224 fl = pvr2_hdw_commit_setup(hdw); pvr2_hdw_commit_ctl()
3226 if (!fl) return 0; pvr2_hdw_commit_ctl()
3233 int fl = 0; pvr2_hdw_worker_poll() local
3236 fl = pvr2_hdw_state_eval(hdw); pvr2_hdw_worker_poll()
3238 if (fl && hdw->state_func) { pvr2_hdw_worker_poll()
4552 int fl = !0; state_eval_usbstream_run() local
4554 fl = (hdw->state_encoder_ok && state_eval_usbstream_run()
4558 fl = hdw->state_encoder_ok; state_eval_usbstream_run()
4560 if (fl && state_eval_usbstream_run()
/linux-4.1.27/drivers/infiniband/hw/ehca/
H A Dehca_sqp.c132 u32 fl:20; member in struct:tcslfl
139 u32 fl:20; member in struct:vertcfl
195 tcslfl->fl = vertcfl->fl; ehca_process_perf()
/linux-4.1.27/drivers/hid/
H A Dwacom.h35 * v1.20 (fl) - Report tool id for Intuos devices
43 * v1.21.1 (fl) - added Graphire2 support
44 * v1.21.2 (fl) - added Intuos2 support
46 * v1.21.3 (fl) - added another eraser id from Neil Okamoto
/linux-4.1.27/net/core/
H A Dnet-procfs.c152 struct sd_flow_limit *fl; softnet_seq_show() local
155 fl = rcu_dereference(sd->flow_limit); softnet_seq_show()
156 if (fl) softnet_seq_show()
157 flow_limit_count = fl->count; softnet_seq_show()
H A Dfib_rules.c176 struct flowi *fl, int flags) fib_rule_match()
180 if (rule->iifindex && (rule->iifindex != fl->flowi_iif)) fib_rule_match()
183 if (rule->oifindex && (rule->oifindex != fl->flowi_oif)) fib_rule_match()
186 if ((rule->mark ^ fl->flowi_mark) & rule->mark_mask) fib_rule_match()
189 ret = ops->match(rule, fl, flags); fib_rule_match()
194 int fib_rules_lookup(struct fib_rules_ops *ops, struct flowi *fl, fib_rules_lookup() argument
204 if (!fib_rule_match(rule, ops, fl, flags)) fib_rules_lookup()
220 err = ops->action(rule, fl, flags, arg); fib_rules_lookup()
175 fib_rule_match(struct fib_rule *rule, struct fib_rules_ops *ops, struct flowi *fl, int flags) fib_rule_match() argument
H A Ddev.c3296 struct sd_flow_limit *fl; skb_flow_limit() local
3306 fl = rcu_dereference(sd->flow_limit); skb_flow_limit()
3307 if (fl) { skb_flow_limit()
3308 new_flow = skb_get_hash(skb) & (fl->num_buckets - 1); skb_flow_limit()
3309 old_flow = fl->history[fl->history_head]; skb_flow_limit()
3310 fl->history[fl->history_head] = new_flow; skb_flow_limit()
3312 fl->history_head++; skb_flow_limit()
3313 fl->history_head &= FLOW_LIMIT_HISTORY - 1; skb_flow_limit()
3315 if (likely(fl->buckets[old_flow])) skb_flow_limit()
3316 fl->buckets[old_flow]--; skb_flow_limit()
3318 if (++fl->buckets[new_flow] > (FLOW_LIMIT_HISTORY >> 1)) { skb_flow_limit()
3319 fl->count++; skb_flow_limit()
/linux-4.1.27/net/netfilter/
H A Dxt_TCPMSS.c50 struct flowi fl; tcpmss_reverse_mtu() local
56 struct flowi4 *fl4 = &fl.u.ip4; tcpmss_reverse_mtu()
60 struct flowi6 *fl6 = &fl.u.ip6; tcpmss_reverse_mtu()
68 ai->route(net, (struct dst_entry **)&rt, &fl, false); tcpmss_reverse_mtu()
H A Dnf_nat_core.c56 static void __nf_nat_decode_session(struct sk_buff *skb, struct flowi *fl) __nf_nat_decode_session() argument
81 l3proto->decode_session(skb, ct, dir, statusbit, fl); __nf_nat_decode_session()
88 struct flowi fl; nf_xfrm_me_harder() local
93 err = xfrm_decode_session(skb, &fl, family); nf_xfrm_me_harder()
102 dst = xfrm_lookup(dev_net(dst->dev), dst, &fl, skb->sk, 0); nf_xfrm_me_harder()
/linux-4.1.27/security/selinux/include/
H A Dxfrm.h28 const struct flowi *fl);
/linux-4.1.27/drivers/scsi/csiostor/
H A Dcsio_wr.c87 csio_wr_reg32(hw, DBPRIO_F | QID_V(flq->un.fl.flid) | csio_wr_ring_fldb()
119 struct csio_dma_buf *buf = &flq->un.fl.bufs[0]; csio_wr_fill_fl()
121 int sreg = flq->un.fl.sreg; csio_wr_fill_fl()
279 flq->un.fl.bufs = kzalloc(flq->credits * csio_wr_alloc_q()
282 if (!flq->un.fl.bufs) { csio_wr_alloc_q()
289 flq->un.fl.packen = 0; csio_wr_alloc_q()
290 flq->un.fl.offset = 0; csio_wr_alloc_q()
291 flq->un.fl.sreg = sreg; csio_wr_alloc_q()
486 iqp.fl0packen = flq->un.fl.packen ? 1 : 0; csio_wr_iq_create()
1056 if (flq->un.fl.offset > 0) { csio_wr_process_fl()
1058 flq->un.fl.offset = 0; csio_wr_process_fl()
1069 buf = &flq->un.fl.bufs[flq->cidx]; csio_wr_process_fl()
1075 flb.offset = flq->un.fl.offset; csio_wr_process_fl()
1085 flb.defer_free = flq->un.fl.packen ? 0 : 1; csio_wr_process_fl()
1090 if (flq->un.fl.packen) csio_wr_process_fl()
1091 flq->un.fl.offset += ALIGN(lastlen, sge->csio_fl_align); csio_wr_process_fl()
1624 if (!q->un.fl.bufs) csio_wrm_exit()
1627 buf = &q->un.fl.bufs[j]; csio_wrm_exit()
1634 kfree(q->un.fl.bufs); csio_wrm_exit()
H A Dcsio_wr.h412 struct csio_fl fl; member in union:csio_q::__anon8775
469 #define csio_q_flid(__hw, __idx) ((__hw)->wrm.q_arr[(__idx)]->un.fl.flid)
/linux-4.1.27/drivers/message/fusion/lsi/
H A Dmpi.h584 #define MPI_SGE_GET_FLAGS(fl) (((fl) & ~MPI_SGE_LENGTH_MASK) >> MPI_SGE_FLAGS_SHIFT)
585 #define MPI_SGE_LENGTH(fl) ((fl) & MPI_SGE_LENGTH_MASK)
586 #define MPI_SGE_CHAIN_LENGTH(fl) ((fl) & MPI_SGE_CHAIN_LENGTH_MASK)
/linux-4.1.27/drivers/media/i2c/smiapp/
H A Dsmiapp.h94 #define SMIAPP_IDENT_FQ(manufacturer, model, rev, fl, _name, _quirk) \
98 .flags = fl, \
/linux-4.1.27/net/decnet/
H A Ddn_rules.c107 static int dn_fib_rule_match(struct fib_rule *rule, struct flowi *fl, int flags) dn_fib_rule_match() argument
110 struct flowidn *fld = &fl->u.dn; dn_fib_rule_match()
H A Ddn_route.c1291 int dn_route_output_sock(struct dst_entry __rcu **pprt, struct flowidn *fl, struct sock *sk, int flags) dn_route_output_sock() argument
1295 err = __dn_route_output_key(pprt, fl, flags & MSG_TRYHARD); dn_route_output_sock()
1296 if (err == 0 && fl->flowidn_proto) { dn_route_output_sock()
1298 flowidn_to_flowi(fl), sk, 0); dn_route_output_sock()
/linux-4.1.27/drivers/staging/lustre/lnet/lnet/
H A Dapi-ni.c370 lnet_freelist_init(lnet_freelist_t *fl, int n, int size) lnet_freelist_init() argument
382 INIT_LIST_HEAD(&fl->fl_list); lnet_freelist_init()
383 fl->fl_objs = space; lnet_freelist_init()
384 fl->fl_nobjs = n; lnet_freelist_init()
385 fl->fl_objsize = size; lnet_freelist_init()
389 list_add((struct list_head *)space, &fl->fl_list); lnet_freelist_init()
397 lnet_freelist_fini(lnet_freelist_t *fl) lnet_freelist_fini() argument
402 if (fl->fl_nobjs == 0) lnet_freelist_fini()
406 for (el = fl->fl_list.next; el != &fl->fl_list; el = el->next) lnet_freelist_fini()
409 LASSERT(count == fl->fl_nobjs); lnet_freelist_fini()
411 LIBCFS_FREE(fl->fl_objs, fl->fl_nobjs * fl->fl_objsize); lnet_freelist_fini()
412 memset(fl, 0, sizeof(*fl)); lnet_freelist_fini()
/linux-4.1.27/fs/xfs/
H A Dxfs_quota.h135 #define xfs_qm_vop_chown_reserve(tp, ip, u, g, p, fl) (0)
136 #define xfs_qm_dqattach(ip, fl) (0)
137 #define xfs_qm_dqattach_locked(ip, fl) (0)
/linux-4.1.27/drivers/net/ethernet/broadcom/bnx2x/
H A Dbnx2x_vfpf.c1565 struct bnx2x_vf_mac_vlan_filters *fl = NULL; bnx2x_vf_mbx_macvlan_list() local
1572 fl = kzalloc(fsz, GFP_KERNEL); bnx2x_vf_mbx_macvlan_list()
1573 if (!fl) bnx2x_vf_mbx_macvlan_list()
1582 fl->filters[j].mac = msg_filter->mac; bnx2x_vf_mbx_macvlan_list()
1583 fl->filters[j].type = BNX2X_VF_FILTER_MAC; bnx2x_vf_mbx_macvlan_list()
1585 fl->filters[j].vid = msg_filter->vlan_tag; bnx2x_vf_mbx_macvlan_list()
1586 fl->filters[j].type = BNX2X_VF_FILTER_VLAN; bnx2x_vf_mbx_macvlan_list()
1588 fl->filters[j].add = bnx2x_vf_mbx_macvlan_list()
1591 fl->count++; bnx2x_vf_mbx_macvlan_list()
1593 if (!fl->count) bnx2x_vf_mbx_macvlan_list()
1594 kfree(fl); bnx2x_vf_mbx_macvlan_list()
1596 *pfl = fl; bnx2x_vf_mbx_macvlan_list()
1643 struct bnx2x_vf_mac_vlan_filters *fl = NULL; bnx2x_vf_mbx_qfilters() local
1645 rc = bnx2x_vf_mbx_macvlan_list(bp, vf, msg, &fl, bnx2x_vf_mbx_qfilters()
1650 if (fl) { bnx2x_vf_mbx_qfilters()
1653 rc = bnx2x_vf_mac_vlan_config_list(bp, vf, fl, bnx2x_vf_mbx_qfilters()
1661 fl = NULL; bnx2x_vf_mbx_qfilters()
1663 rc = bnx2x_vf_mbx_macvlan_list(bp, vf, msg, &fl, bnx2x_vf_mbx_qfilters()
1668 if (fl) { bnx2x_vf_mbx_qfilters()
1670 rc = bnx2x_vf_mac_vlan_config_list(bp, vf, fl, bnx2x_vf_mbx_qfilters()
/linux-4.1.27/drivers/staging/lustre/include/linux/lnet/
H A Dlib-lnet.h189 int lnet_freelist_init(lnet_freelist_t *fl, int n, int size);
190 void lnet_freelist_fini(lnet_freelist_t *fl);
193 lnet_freelist_alloc(lnet_freelist_t *fl) lnet_freelist_alloc() argument
198 if (list_empty(&fl->fl_list)) lnet_freelist_alloc()
201 o = list_entry(fl->fl_list.next, lnet_freeobj_t, fo_list); lnet_freelist_alloc()
207 lnet_freelist_free(lnet_freelist_t *fl, void *obj) lnet_freelist_free() argument
212 list_add(&o->fo_list, &fl->fl_list); lnet_freelist_free()
/linux-4.1.27/fs/fuse/
H A Dfile.c2072 struct file_lock *fl) convert_fuse_file_lock()
2084 fl->fl_start = ffl->start; convert_fuse_file_lock()
2085 fl->fl_end = ffl->end; convert_fuse_file_lock()
2086 fl->fl_pid = ffl->pid; convert_fuse_file_lock()
2092 fl->fl_type = ffl->type; convert_fuse_file_lock()
2097 const struct file_lock *fl, int opcode, pid_t pid, fuse_lk_fill()
2106 inarg->owner = fuse_lock_owner_id(fc, fl->fl_owner); fuse_lk_fill()
2107 inarg->lk.start = fl->fl_start; fuse_lk_fill()
2108 inarg->lk.end = fl->fl_end; fuse_lk_fill()
2109 inarg->lk.type = fl->fl_type; fuse_lk_fill()
2120 static int fuse_getlk(struct file *file, struct file_lock *fl) fuse_getlk() argument
2129 fuse_lk_fill(&args, file, fl, FUSE_GETLK, 0, 0, &inarg); fuse_getlk()
2135 err = convert_fuse_file_lock(&outarg.lk, fl); fuse_getlk()
2140 static int fuse_setlk(struct file *file, struct file_lock *fl, int flock) fuse_setlk() argument
2146 int opcode = (fl->fl_flags & FL_SLEEP) ? FUSE_SETLKW : FUSE_SETLK; fuse_setlk()
2147 pid_t pid = fl->fl_type != F_UNLCK ? current->tgid : 0; fuse_setlk()
2150 if (fl->fl_lmops && fl->fl_lmops->lm_grant) { fuse_setlk()
2156 if (fl->fl_flags & FL_CLOSE) fuse_setlk()
2159 fuse_lk_fill(&args, file, fl, opcode, pid, flock, &inarg); fuse_setlk()
2169 static int fuse_file_lock(struct file *file, int cmd, struct file_lock *fl) fuse_file_lock() argument
2179 posix_test_lock(file, fl); fuse_file_lock()
2182 err = fuse_getlk(file, fl); fuse_file_lock()
2185 err = posix_lock_file(file, fl, NULL); fuse_file_lock()
2187 err = fuse_setlk(file, fl, 0); fuse_file_lock()
2192 static int fuse_file_flock(struct file *file, int cmd, struct file_lock *fl) fuse_file_flock() argument
2199 err = flock_lock_file_wait(file, fl); fuse_file_flock()
2205 err = fuse_setlk(file, fl, 1); fuse_file_flock()
2071 convert_fuse_file_lock(const struct fuse_file_lock *ffl, struct file_lock *fl) convert_fuse_file_lock() argument
2096 fuse_lk_fill(struct fuse_args *args, struct file *file, const struct file_lock *fl, int opcode, pid_t pid, int flock, struct fuse_lk_in *inarg) fuse_lk_fill() argument
/linux-4.1.27/drivers/virtio/
H A Dvirtio_input.c156 u32 mi, ma, re, fu, fl; virtinput_cfg_abs() local
163 virtio_cread(vi->vdev, struct virtio_input_config, u.abs.flat, &fl); virtinput_cfg_abs()
164 input_set_abs_params(vi->idev, abs, mi, ma, fu, fl); virtinput_cfg_abs()
/linux-4.1.27/security/selinux/
H A Dxfrm.c180 const struct flowi *fl) selinux_xfrm_state_pol_flow_match()
202 if (fl->flowi_secid != state_sid) selinux_xfrm_state_pol_flow_match()
208 return (avc_has_perm(fl->flowi_secid, state_sid, selinux_xfrm_state_pol_flow_match()
178 selinux_xfrm_state_pol_flow_match(struct xfrm_state *x, struct xfrm_policy *xp, const struct flowi *fl) selinux_xfrm_state_pol_flow_match() argument
H A Dhooks.c4672 struct flowi *fl) selinux_req_classify_flow()
4674 fl->flowi_secid = req->secid; selinux_req_classify_flow()
4671 selinux_req_classify_flow(const struct request_sock *req, struct flowi *fl) selinux_req_classify_flow() argument
/linux-4.1.27/include/net/netfilter/
H A Dnf_nat_l3proto.h32 struct flowi *fl);
/linux-4.1.27/security/
H A Dsecurity.c1271 void security_sk_classify_flow(struct sock *sk, struct flowi *fl) security_sk_classify_flow() argument
1273 security_ops->sk_getsecid(sk, &fl->flowi_secid); security_sk_classify_flow()
1277 void security_req_classify_flow(const struct request_sock *req, struct flowi *fl) security_req_classify_flow() argument
1279 security_ops->req_classify_flow(req, fl); security_req_classify_flow()
1422 const struct flowi *fl) security_xfrm_state_pol_flow_match()
1424 return security_ops->xfrm_state_pol_flow_match(x, xp, fl); security_xfrm_state_pol_flow_match()
1432 void security_skb_classify_flow(struct sk_buff *skb, struct flowi *fl) security_skb_classify_flow() argument
1434 int rc = security_ops->xfrm_decode_session(skb, &fl->flowi_secid, 0); security_skb_classify_flow()
1420 security_xfrm_state_pol_flow_match(struct xfrm_state *x, struct xfrm_policy *xp, const struct flowi *fl) security_xfrm_state_pol_flow_match() argument
H A Dcapability.c747 struct flowi *fl) cap_req_classify_flow()
833 const struct flowi *fl) cap_xfrm_state_pol_flow_match()
838 static int cap_xfrm_decode_session(struct sk_buff *skb, u32 *fl, int ckall) cap_xfrm_decode_session() argument
746 cap_req_classify_flow(const struct request_sock *req, struct flowi *fl) cap_req_classify_flow() argument
831 cap_xfrm_state_pol_flow_match(struct xfrm_state *x, struct xfrm_policy *xp, const struct flowi *fl) cap_xfrm_state_pol_flow_match() argument
/linux-4.1.27/include/linux/mlx4/
H A Dqp.h137 u8 fl; member in struct:mlx4_qp_path
158 enum { /* fl */
/linux-4.1.27/net/sctp/
H A Dtransport.c227 &transport->fl, sk); sctp_transport_pmtu()
254 t->af_specific->get_dst(t, &t->saddr, &t->fl, sk); sctp_transport_update_pmtu()
261 t->af_specific->get_dst(t, &t->saddr, &t->fl, sk); sctp_transport_update_pmtu()
274 af->get_dst(transport, saddr, &transport->fl, sctp_opt2sk(opt)); sctp_transport_route()
279 af->get_saddr(opt, transport, &transport->fl); sctp_transport_route()
H A Dprotocol.c424 struct flowi *fl, struct sock *sk) sctp_v4_get_dst()
428 struct flowi4 *fl4 = &fl->u.ip4; sctp_v4_get_dst()
527 struct flowi *fl) sctp_v4_get_saddr()
534 saddr->v4.sin_addr.s_addr = fl->u.ip4.saddr; sctp_v4_get_saddr()
960 skb->len, &transport->fl.u.ip4.saddr, &transport->fl.u.ip4.daddr); sctp_v4_xmit()
967 return ip_queue_xmit(&inet->sk, skb, &transport->fl); sctp_v4_xmit()
423 sctp_v4_get_dst(struct sctp_transport *t, union sctp_addr *saddr, struct flowi *fl, struct sock *sk) sctp_v4_get_dst() argument
525 sctp_v4_get_saddr(struct sctp_sock *sk, struct sctp_transport *t, struct flowi *fl) sctp_v4_get_saddr() argument
H A Dipv6.c211 struct flowi6 *fl6 = &transport->fl.u.ip6; sctp_v6_xmit()
230 struct flowi *fl, struct sock *sk) sctp_v6_get_dst()
234 struct flowi6 *fl6 = &fl->u.ip6; sctp_v6_get_dst()
358 struct flowi *fl) sctp_v6_get_saddr()
360 struct flowi6 *fl6 = &fl->u.ip6; sctp_v6_get_saddr()
229 sctp_v6_get_dst(struct sctp_transport *t, union sctp_addr *saddr, struct flowi *fl, struct sock *sk) sctp_v6_get_dst() argument
356 sctp_v6_get_saddr(struct sctp_sock *sk, struct sctp_transport *t, struct flowi *fl) sctp_v6_get_saddr() argument
/linux-4.1.27/arch/microblaze/include/asm/
H A Dcacheflush.h33 /* struct cache, d=dcache, i=icache, fl = flush, iv = invalidate,
/linux-4.1.27/drivers/staging/fbtft/
H A Dfb_agm1264k-fl.c32 #define DRVNAME "fb_agm1264k-fl"
459 FBTFT_REGISTER_DRIVER(DRVNAME, "displaytronic,fb_agm1264k-fl", &display);
H A Dfbtft_device.c325 .name = "agm1264k-fl",
327 .name = "fb_agm1264k-fl",
/linux-4.1.27/drivers/staging/lustre/lustre/include/
H A Ddt_object.h337 * \a fl - flags from enum lu_xattr_flags
344 const char *name, int fl,
348 const char *name, int fl, struct thandle *handle,
1347 const char *name, int fl, dt_declare_xattr_set()
1353 return dt->do_ops->do_declare_xattr_set(env, dt, buf, name, fl, th); dt_declare_xattr_set()
1358 const char *name, int fl, struct thandle *th, dt_xattr_set()
1364 return dt->do_ops->do_xattr_set(env, dt, buf, name, fl, th, capa); dt_xattr_set()
1344 dt_declare_xattr_set(const struct lu_env *env, struct dt_object *dt, const struct lu_buf *buf, const char *name, int fl, struct thandle *th) dt_declare_xattr_set() argument
1356 dt_xattr_set(const struct lu_env *env, struct dt_object *dt, const struct lu_buf *buf, const char *name, int fl, struct thandle *th, struct lustre_capa *capa) dt_xattr_set() argument
/linux-4.1.27/drivers/char/
H A Dppdev.c285 int fl; register_device() local
298 fl = (pp->flags & PP_EXCL) ? PARPORT_FLAG_EXCL : 0; register_device()
300 NULL, pp_irq, fl, pp); register_device()
/linux-4.1.27/fs/ext4/
H A Dmove_extent.c138 unsigned fl = AOP_FLAG_NOFS; mext_page_double_lock() local
152 page[0] = grab_cache_page_write_begin(mapping[0], index1, fl); mext_page_double_lock()
156 page[1] = grab_cache_page_write_begin(mapping[1], index2, fl); mext_page_double_lock()
/linux-4.1.27/tools/hv/
H A Dhv_kvp_daemon.c125 struct flock fl = {F_WRLCK, SEEK_SET, 0, 0, 0}; kvp_acquire_lock() local
126 fl.l_pid = getpid(); kvp_acquire_lock()
128 if (fcntl(kvp_file_info[pool].fd, F_SETLKW, &fl) == -1) { kvp_acquire_lock()
137 struct flock fl = {F_UNLCK, SEEK_SET, 0, 0, 0}; kvp_release_lock() local
138 fl.l_pid = getpid(); kvp_release_lock()
140 if (fcntl(kvp_file_info[pool].fd, F_SETLK, &fl) == -1) { kvp_release_lock()
/linux-4.1.27/net/ipv4/netfilter/
H A Dnf_nat_l3proto_ipv4.c36 struct flowi *fl) nf_nat_ipv4_decode_session()
39 struct flowi4 *fl4 = &fl->u.ip4; nf_nat_ipv4_decode_session()
32 nf_nat_ipv4_decode_session(struct sk_buff *skb, const struct nf_conn *ct, enum ip_conntrack_dir dir, unsigned long statusbit, struct flowi *fl) nf_nat_ipv4_decode_session() argument
/linux-4.1.27/net/ipv6/netfilter/
H A Dnf_nat_l3proto_ipv6.c35 struct flowi *fl) nf_nat_ipv6_decode_session()
38 struct flowi6 *fl6 = &fl->u.ip6; nf_nat_ipv6_decode_session()
31 nf_nat_ipv6_decode_session(struct sk_buff *skb, const struct nf_conn *ct, enum ip_conntrack_dir dir, unsigned long statusbit, struct flowi *fl) nf_nat_ipv6_decode_session() argument
/linux-4.1.27/net/l2tp/
H A Dl2tp_ip.c450 fl4 = &inet->cork.fl.u.ip4; l2tp_ip_sendmsg()
490 rc = ip_queue_xmit(sk, skb, &inet->cork.fl); l2tp_ip_sendmsg()
H A Dl2tp_core.c1053 struct flowi *fl, size_t data_len) l2tp_xmit_core()
1083 error = ip_queue_xmit(tunnel->sock, skb, fl); l2tp_xmit_core()
1107 struct flowi *fl; l2tp_xmit_skb() local
1147 fl = &inet->cork.fl; l2tp_xmit_skb()
1175 l2tp_xmit_core(session, skb, fl, data_len); l2tp_xmit_skb()
1052 l2tp_xmit_core(struct l2tp_session *session, struct sk_buff *skb, struct flowi *fl, size_t data_len) l2tp_xmit_core() argument
/linux-4.1.27/net/tipc/
H A Dudp_media.c168 struct flowi4 fl = { tipc_udp_send_msg() local
174 rt = ip_route_output_key(net, &fl); tipc_udp_send_msg()
/linux-4.1.27/arch/x86/kernel/cpu/
H A Dperf_event_intel_ds.c866 int fl = event->hw.flags; __intel_pmu_pebs_event() local
874 fll = fl & PERF_X86_EVENT_PEBS_LDLAT; __intel_pmu_pebs_event()
875 fst = fl & (PERF_X86_EVENT_PEBS_ST | PERF_X86_EVENT_PEBS_HSW_PREC); __intel_pmu_pebs_event()
894 else if (fst && (fl & PERF_X86_EVENT_PEBS_HSW_PREC)) __intel_pmu_pebs_event()
/linux-4.1.27/drivers/gpu/drm/radeon/
H A Dr600_dpm.c218 int r600_calculate_at(u32 t, u32 h, u32 fh, u32 fl, u32 *tl, u32 *th) r600_calculate_at() argument
223 if ((fl == 0) || (fh == 0) || (fl > fh)) r600_calculate_at()
226 k = (100 * fh) / fl; r600_calculate_at()
H A Dr600_dpm.h140 int r600_calculate_at(u32 t, u32 h, u32 fh, u32 fl, u32 *tl, u32 *th);
/linux-4.1.27/sound/soc/codecs/
H A Dwm5100.c1405 int i, base, bclk, aif_rate, lrclk, wl, fl, sr; wm5100_hw_params() local
1414 fl = snd_soc_params_to_frame_size(params); wm5100_hw_params()
1415 if (fl < 0) wm5100_hw_params()
1416 return fl; wm5100_hw_params()
1419 wl, fl); wm5100_hw_params()
1489 i = (wl << WM5100_AIF1TX_WL_SHIFT) | fl; wm5100_hw_params()
H A Dwm2200.c1701 int i, bclk, lrclk, wl, fl, sr_code; wm2200_hw_params() local
1708 fl = snd_soc_params_to_frame_size(params); wm2200_hw_params()
1709 if (fl < 0) wm2200_hw_params()
1710 return fl; wm2200_hw_params()
1713 wl, fl); wm2200_hw_params()
/linux-4.1.27/drivers/lguest/
H A Dsegments.c38 * [ limit part 1 ][ base part 1 ][ flags ][li][fl][base ]
/linux-4.1.27/include/net/9p/
H A Dclient.h258 int p9_client_getlock_dotl(struct p9_fid *fid, struct p9_getlock *fl);
/linux-4.1.27/fs/cifs/
H A Dcifs_dfs_ref.c269 cifs_dbg(FYI, "DFS: fl: %hd, srv_type: %hd\n", dump_referral()
/linux-4.1.27/include/linux/mlx5/
H A Dqp.h422 u8 fl; member in struct:mlx5_qp_path
/linux-4.1.27/drivers/gpu/drm/i915/
H A Di915_cmd_parser.c94 #define CMD(op, opm, f, lm, fl, ...) \
96 .flags = (fl) | ((f) ? CMD_DESC_FIXED : 0), \
/linux-4.1.27/fs/cachefiles/
H A Dnamei.c39 pr_err("%sobjstate=%s fl=%lx wbusy=%x ev=%lx[%lx]\n", __cachefiles_printk_object()
52 pr_err("%scookie=%p [pr=%p nd=%p fl=%lx]\n", __cachefiles_printk_object()
/linux-4.1.27/drivers/staging/lustre/lustre/lmv/
H A Dlmv_obd.c1878 #define md_op_data_fid(op_data, fl) \
1879 (fl == MF_MDC_CANCEL_FID1 ? &op_data->op_fid1 : \
1880 fl == MF_MDC_CANCEL_FID2 ? &op_data->op_fid2 : \
1881 fl == MF_MDC_CANCEL_FID3 ? &op_data->op_fid3 : \
1882 fl == MF_MDC_CANCEL_FID4 ? &op_data->op_fid4 : \
/linux-4.1.27/drivers/scsi/lpfc/
H A Dlpfc_hw.h3285 uint32_t fl:1; member in struct:__anon9145
3291 uint32_t fl:1; member in struct:__anon9145
3389 uint32_t fl:1; member in struct:__anon9154
3395 uint32_t fl:1; member in struct:__anon9154
H A Dlpfc_els.c1269 icmd->un.elsreq64.fl = 1; lpfc_issue_els_flogi()
7644 icmd->un.elsreq64.fl = 1; lpfc_issue_els_fdisc()
/linux-4.1.27/drivers/scsi/cxgbi/
H A Dlibcxgbi.c685 struct flowi6 fl; find_route_ipv6() local
688 memcpy(&fl.saddr, saddr, sizeof(struct in6_addr)); find_route_ipv6()
690 memcpy(&fl.daddr, daddr, sizeof(struct in6_addr)); find_route_ipv6()
691 return (struct rt6_info *)ip6_route_output(&init_net, NULL, &fl); find_route_ipv6()
/linux-4.1.27/net/dccp/
H A Doutput.c141 err = icsk->icsk_af_ops->queue_xmit(sk, skb, &inet->cork.fl); dccp_transmit_skb()
H A Dipv4.c74 fl4 = &inet->cork.fl.u.ip4; dccp_v4_connect()
/linux-4.1.27/drivers/infiniband/hw/mlx4/
H A Dqp.c1346 path->fl = 1 << 6; _mlx4_set_path()
1687 context->pri_path.fl = 0x80; __mlx4_ib_modify_qp()
1690 context->pri_path.fl = 0x80; __mlx4_ib_modify_qp()
/linux-4.1.27/include/net/sctp/
H A Dstructs.h456 struct flowi *fl,
460 struct flowi *fl);
784 struct flowi fl; member in struct:sctp_transport
/linux-4.1.27/drivers/staging/lustre/lustre/llite/
H A Dllite_lib.c716 static inline int ll_set_opt(const char *opt, char *data, int fl) ll_set_opt() argument
721 return fl; ll_set_opt()
/linux-4.1.27/drivers/net/ethernet/mellanox/mlx4/
H A Dresource_tracker.c764 qpc->pri_path.fl |= MLX4_FL_CV | MLX4_FL_ETH_HIDE_CQE_VLAN; update_vport_qp_param()
3580 u8 orig_pri_path_fl = qpc->pri_path.fl; mlx4_INIT2RTR_QP_wrapper()
4903 upd_context->qp_context.pri_path.fl = qp->pri_path_fl; list_for_each_entry_safe()
4913 upd_context->qp_context.pri_path.fl = list_for_each_entry_safe()
/linux-4.1.27/drivers/media/pci/bt8xx/
H A Dbttv-driver.c806 unsigned char fl, fh, fi; set_pll_freq() local
819 fl=fout/fin; set_pll_freq()
821 btwrite(fl, BT848_PLL_F_LO); set_pll_freq()
/linux-4.1.27/scripts/
H A Dcheckpatch.pl310 our $Float_hex = qr{(?i)0x[0-9a-f]+p-?[0-9]+[fl]?};
311 our $Float_dec = qr{(?i)(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:e-?[0-9]+)?[fl]?};
312 our $Float_int = qr{(?i)[0-9]+e-?[0-9]+[fl]?};
/linux-4.1.27/drivers/staging/lustre/lustre/ptlrpc/
H A Dpack_generic.c2395 " req@%p x%llu/t%lld(%lld) o%d->%s@%s:%d/%d lens %d/%d e %d to %d dl " CFS_TIME_T " ref %d fl " REQ_FLAGS_FMT "/%x/%x rc %d/%d\n", _debug_req()
H A Dsec.c542 "ctx (%p, fl %lx) doesn't switch, relax a little bit\n", sptlrpc_req_replace_dead_ctx()
/linux-4.1.27/drivers/infiniband/hw/mlx5/
H A Dqp.c1384 path->fl = (path_flags & MLX5_PATH_FLAG_FL) ? 0x80 : 0; mlx5_set_path()

Completed in 7905 milliseconds