New issue
Advanced search Search tips

Issue 857487 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Jul 13
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

Use smbc*_ctx API and manage FD's ourselves

Project Member Reported by zentaro@chromium.org, Jun 28 2018

Issue description

libsmbclient has a compatability API which we've currently been using which exposes samba functions as FD's rather than the true underlying SMBCFILE data structure. 

The compat API is missing some functionality we need and currently we have some functions calling down to the lower level _ctx API.

The compat API also uses a linked list to map FD's so would scale poorly if many files were opened/leaked.

This will make our implementation consistenting use the real _ctx API, and do the FD mapping ourselves.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/d0ae43f9f1cd510b2795b4fae202b8d0d081fa92

commit d0ae43f9f1cd510b2795b4fae202b8d0d081fa92
Author: Zentaro Kavanagh <zentaro@chromium.org>
Date: Sat Jun 30 05:00:42 2018

smbprovider: Add function pointers for _ctx functions.

- Part of a sequence of CL's to transition from libsmbclients
  compat API to the underlying _ctx API
- Adds the remaining function pointers
- Alphabetizes the function pointer members
- No functionality is changed in this CL

BUG= chromium:857487 , chromium:757625 
TEST=emerges, unittests

Change-Id: I655b8928d1d095c831364a1717cb5b9a2bd515f9
Reviewed-on: https://chromium-review.googlesource.com/1118924
Commit-Ready: Zentaro Kavanagh <zentaro@chromium.org>
Tested-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Bailey Berro <baileyberro@chromium.org>

[modify] https://crrev.com/d0ae43f9f1cd510b2795b4fae202b8d0d081fa92/smbprovider/samba_interface_impl.h
[modify] https://crrev.com/d0ae43f9f1cd510b2795b4fae202b8d0d081fa92/smbprovider/samba_interface_impl.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Jun 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/d16dbf81ffcefaecbd9bdb54a072b4c289b98b23

commit d16dbf81ffcefaecbd9bdb54a072b4c289b98b23
Author: Zentaro Kavanagh <zentaro@chromium.org>
Date: Sat Jun 30 05:00:43 2018

smbprovider: Populates function pointers for _ctx functions.

- Part of a sequence of CL's to transition from libsmbclients
  compat API to the underlying _ctx API
- Populates all the function pointers
- No functionality is changed in this CL

BUG= chromium:857487 , chromium:757625 
TEST=emerges, unittests

Change-Id: If56ed4ee842d9a9ca47918f3257eb41cc7bf5619
Reviewed-on: https://chromium-review.googlesource.com/1118965
Commit-Ready: Zentaro Kavanagh <zentaro@chromium.org>
Tested-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Bailey Berro <baileyberro@chromium.org>

[modify] https://crrev.com/d16dbf81ffcefaecbd9bdb54a072b4c289b98b23/smbprovider/samba_interface_impl.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/a82f44362ec93e33e4a5bc918923840b5d8e3efa

commit a82f44362ec93e33e4a5bc918923840b5d8e3efa
Author: Zentaro Kavanagh <zentaro@chromium.org>
Date: Sat Jun 30 05:00:43 2018

smbprovider: Add skeleton of SequentialIdMap

- Part of CL's to transition to using smbc_*_ctx functions
- Adds skeleton implementation and test file
- No logic is changed in this CL

BUG= chromium:857487 , chromium:757625 
TEST=emerges,unittests

Change-Id: I93fc9ffb629eb675883131c779e6913de4aa6547
Reviewed-on: https://chromium-review.googlesource.com/1118966
Commit-Ready: Zentaro Kavanagh <zentaro@chromium.org>
Tested-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Bailey Berro <baileyberro@chromium.org>

[add] https://crrev.com/a82f44362ec93e33e4a5bc918923840b5d8e3efa/smbprovider/sequential_id_map.h
[add] https://crrev.com/a82f44362ec93e33e4a5bc918923840b5d8e3efa/smbprovider/sequential_id_map_test.cc
[modify] https://crrev.com/a82f44362ec93e33e4a5bc918923840b5d8e3efa/smbprovider/smbprovider.gyp

Project Member

Comment 4 by bugdroid1@chromium.org, Jun 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/15804f7d20882a749cc6ffe6e182bc9bdb334e5b

commit 15804f7d20882a749cc6ffe6e182bc9bdb334e5b
Author: Zentaro Kavanagh <zentaro@chromium.org>
Date: Sat Jun 30 05:00:44 2018

smbprovider: Implement Insert and Find on SequentialIdMap

- Part of CL's to transition to using smbc_*_ctx functions
- No behavior change to live code in this CL

BUG= chromium:857487 , chromium:757625 
TEST=emerges,unittests

Change-Id: I4da74039090dd633cd7e2d47d16bab1151ce0983
Reviewed-on: https://chromium-review.googlesource.com/1118967
Commit-Ready: Zentaro Kavanagh <zentaro@chromium.org>
Tested-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Bailey Berro <baileyberro@chromium.org>

[modify] https://crrev.com/15804f7d20882a749cc6ffe6e182bc9bdb334e5b/smbprovider/sequential_id_map.h
[modify] https://crrev.com/15804f7d20882a749cc6ffe6e182bc9bdb334e5b/smbprovider/sequential_id_map_test.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/4318b9b29d30550ef6f95847b64a8ed4ab8b137f

commit 4318b9b29d30550ef6f95847b64a8ed4ab8b137f
Author: Zentaro Kavanagh <zentaro@chromium.org>
Date: Sat Jun 30 05:00:44 2018

smbprovider: Implement Contains on SequentialIdMap

- Part of CL's to transition to using smbc_*_ctx functions
- No behavior change to live code in this CL

BUG= chromium:857487 , chromium:757625 
TEST=emerges,unittests

Change-Id: I95df2a50d25e131a94f40ea6caad616ceaf6d986
Reviewed-on: https://chromium-review.googlesource.com/1118968
Commit-Ready: Zentaro Kavanagh <zentaro@chromium.org>
Tested-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Bailey Berro <baileyberro@chromium.org>

[modify] https://crrev.com/4318b9b29d30550ef6f95847b64a8ed4ab8b137f/smbprovider/sequential_id_map.h
[modify] https://crrev.com/4318b9b29d30550ef6f95847b64a8ed4ab8b137f/smbprovider/sequential_id_map_test.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Jun 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/b841c3951c8f7ff238206b80ca70c76ce3aa5a1c

commit b841c3951c8f7ff238206b80ca70c76ce3aa5a1c
Author: Zentaro Kavanagh <zentaro@chromium.org>
Date: Sat Jun 30 05:00:45 2018

smbprovider: Implement Remove and Count on SequentialIdMap

- Part of CL's to transition to using smbc_*_ctx functions
- No behavior change to live code in this CL

BUG= chromium:857487 , chromium:757625 
TEST=emerges,unittests

Change-Id: Ie271077a4737186749f34a374ce4b5a054c16a75
Reviewed-on: https://chromium-review.googlesource.com/1118969
Commit-Ready: Zentaro Kavanagh <zentaro@chromium.org>
Tested-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Bailey Berro <baileyberro@chromium.org>

[modify] https://crrev.com/b841c3951c8f7ff238206b80ca70c76ce3aa5a1c/smbprovider/sequential_id_map.h
[modify] https://crrev.com/b841c3951c8f7ff238206b80ca70c76ce3aa5a1c/smbprovider/sequential_id_map_test.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Jun 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/3e071ea2d1311b0d97064c683ff2e0d4bc23e1ae

commit 3e071ea2d1311b0d97064c683ff2e0d4bc23e1ae
Author: Zentaro Kavanagh <zentaro@chromium.org>
Date: Sat Jun 30 05:00:45 2018

smbprovider: Use new FD mapping on splice calls

- Part of CL's to transition to using smbc_*_ctx functions
- Adds a map to SambaInterface to track FD->SMBCFILE
- Updates the function calls already using _ctx
- Follow up will convert remaining functions

BUG= chromium:857487 , chromium:757625 
TEST=emerges,unittests

Change-Id: I08f1f5aa1eafb3e0672e9603177b2bb80f66148e
Reviewed-on: https://chromium-review.googlesource.com/1118970
Commit-Ready: Zentaro Kavanagh <zentaro@chromium.org>
Tested-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Bailey Berro <baileyberro@chromium.org>

[modify] https://crrev.com/3e071ea2d1311b0d97064c683ff2e0d4bc23e1ae/smbprovider/samba_interface_impl.h
[modify] https://crrev.com/3e071ea2d1311b0d97064c683ff2e0d4bc23e1ae/smbprovider/samba_interface_impl.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/b97935010d90757a3c8df96ff9832ff77ab1f816

commit b97935010d90757a3c8df96ff9832ff77ab1f816
Author: Zentaro Kavanagh <zentaro@chromium.org>
Date: Fri Jul 13 09:22:28 2018

smbprovider: Use new FD mapping on all calls

- Part of CL's to transition to using smbc_*_ctx functions
- Updates remaining functions to new API

BUG= chromium:857487 , chromium:757625 
TEST=emerges,unittests

Change-Id: I9491fa7e8227359b309a7aba7ab4fbdadd3063d3
Reviewed-on: https://chromium-review.googlesource.com/1120688
Commit-Ready: Bailey Berro <baileyberro@chromium.org>
Tested-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Bailey Berro <baileyberro@chromium.org>

[modify] https://crrev.com/b97935010d90757a3c8df96ff9832ff77ab1f816/smbprovider/samba_interface_impl.cc

Status: Verified (was: Started)

Sign in to add a comment