smb2ops.c (be9aac187433af6abba5fcc2e73d91d0794ba360) | smb2ops.c (2991b77409891e14a10b96899755c004b0c07edb) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * SMB2 version specific operations 4 * 5 * Copyright (c) 2012, Jeff Layton <jlayton@redhat.com> 6 */ 7 8#include <linux/pagemap.h> --- 496 unchanged lines hidden (view full) --- 505#endif 506 507 if (!(server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) 508 rsize = min_t(unsigned int, rsize, SMB2_MAX_BUFFER_SIZE); 509 510 return rsize; 511} 512 | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * SMB2 version specific operations 4 * 5 * Copyright (c) 2012, Jeff Layton <jlayton@redhat.com> 6 */ 7 8#include <linux/pagemap.h> --- 496 unchanged lines hidden (view full) --- 505#endif 506 507 if (!(server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) 508 rsize = min_t(unsigned int, rsize, SMB2_MAX_BUFFER_SIZE); 509 510 return rsize; 511} 512 |
513/* 514 * compare two interfaces a and b 515 * return 0 if everything matches. 516 * return 1 if a is rdma capable, or rss capable, or has higher link speed 517 * return -1 otherwise. 518 */ |
|
513static int | 519static int |
520iface_cmp(struct cifs_server_iface *a, struct cifs_server_iface *b) 521{ 522 int cmp_ret = 0; 523 524 WARN_ON(!a || !b); 525 if (a->rdma_capable == b->rdma_capable) { 526 if (a->rss_capable == b->rss_capable) { 527 if (a->speed == b->speed) { 528 cmp_ret = cifs_ipaddr_cmp((struct sockaddr *) &a->sockaddr, 529 (struct sockaddr *) &b->sockaddr); 530 if (!cmp_ret) 531 return 0; 532 else if (cmp_ret > 0) 533 return 1; 534 else 535 return -1; 536 } else if (a->speed > b->speed) 537 return 1; 538 else 539 return -1; 540 } else if (a->rss_capable > b->rss_capable) 541 return 1; 542 else 543 return -1; 544 } else if (a->rdma_capable > b->rdma_capable) 545 return 1; 546 else 547 return -1; 548} 549 550static int |
|
514parse_server_interfaces(struct network_interface_info_ioctl_rsp *buf, 515 size_t buf_len, struct cifs_ses *ses, bool in_mount) 516{ 517 struct network_interface_info_ioctl_rsp *p; 518 struct sockaddr_in *addr4; 519 struct sockaddr_in6 *addr6; 520 struct iface_info_ipv4 *p4; 521 struct iface_info_ipv6 *p6; --- 5272 unchanged lines hidden --- | 551parse_server_interfaces(struct network_interface_info_ioctl_rsp *buf, 552 size_t buf_len, struct cifs_ses *ses, bool in_mount) 553{ 554 struct network_interface_info_ioctl_rsp *p; 555 struct sockaddr_in *addr4; 556 struct sockaddr_in6 *addr6; 557 struct iface_info_ipv4 *p4; 558 struct iface_info_ipv6 *p6; --- 5272 unchanged lines hidden --- |