Change Summary:
Remove sd-related changes. A full explanation was emailed to illumos-developers on the thread for this code review.
Review Request #2412 — Created Oct. 23, 2019 and submitted
Information | |
---|---|
jjelinek | |
illumos-gate | |
11820 | |
Reviewers | |
general | |
This is upstreaming from Nexenta of work in the iSCSI and COMSTAR code. The full list of Nexenta commits and the upstreaming status is described in the bug report.
Remove sd-related changes. A full explanation was emailed to illumos-developers on the thread for this code review.
usr/src/uts/common/fs/doorfs/door_sys.c (Diff revision 2) |
---|
Does this change mean door calls can return up to 4M of data now? This seems a little out of scope for this port, but I don't know the context of this change.
usr/src/uts/common/io/comstar/lu/stmf_sbd/sbd.c (Diff revision 2) |
---|
Did this flip the conditional? I don't really understand why we would want something not to be a power of 2.
usr/src/uts/common/io/comstar/port/iscsit/iscsit.c (Diff revision 2) |
---|
This conditional could be merged into the prior conditional block.
usr/src/uts/common/io/comstar/stmf/lun_map.c (Diff revision 2) |
---|
I would personally rather see an ASSERT to document and enforce that the lock is held. This comment pattern is repeated for many functions in this file.
usr/src/uts/common/io/comstar/stmf/stmf.c (Diff revision 2) |
---|
Should we be holding itask_mutex when we enter this conditional?
usr/src/uts/common/io/comstar/stmf/stmf.c (Diff revision 2) |
---|
Should we also destroy irport->irport_kstat_estat in this function?
usr/src/uts/common/io/comstar/stmf/stmf.c (Diff revision 2) |
---|
We can turf this sort of lint directive now, right? If so I see a lot of ARGSUSED and CSTYLED notes in this file.
usr/src/uts/common/io/comstar/stmf/stmf.c (Diff revision 2) |
---|
This conditional could be merged into the outer conditional as well.
usr/src/uts/common/io/comstar/stmf/stmf.c (Diff revision 2) |
---|
It seems to me that we should release the itask_mutex before we return here since it's release on line 5101 before returning.
It looks like stmf_task_free needs the mutex to be held on entry. It then releases and re-acquires the mutex but does not release the mutex on exit.
usr/src/uts/common/io/comstar/stmf/stmf.c (Diff revision 2) |
---|
Release the itask_mutex here too? Maybe this is a copy/paste issue since this is the same as the line 5106 block.
usr/src/uts/common/io/comstar/stmf/stmf.c (Diff revision 2) |
---|
Another possible place to relese the itask_mutex.
usr/src/uts/common/io/comstar/stmf/stmf.c (Diff revision 2) |
---|
Ah, maybe all of that discussion of leaving the itask_mutex acquired when returning is explained by this comment.
usr/src/uts/common/io/comstar/stmf/stmf.c (Diff revision 2) |
---|
It seems like the old
stmf_min_nworkers
global would be useful here. It looks to have been replaced by thestmf_worker_warn
global, butstmf_worker_warn
is unused.
usr/src/uts/common/io/comstar/stmf/stmf_impl.h (Diff revision 2) |
---|
Is this a time-sensitive set of operations? I don't really understand why a macro would be simpler to maintain than a separate function (which would give us another fbt probe) as the comment seems to indicate.
usr/src/uts/common/io/comstar/stmf/stmf_stats.h (Diff revision 2) |
---|
I like the sound of these kstats! A little nit: the white space seems to be different between these two structs.
usr/src/uts/common/io/idm/idm.c (Diff revision 2) |
---|
We don't want the refcnt->ir_mutex to be held by the caller, right? Would that skew the results of this function?
Diff: |
Revision 3 (+3653 -1505)
|
---|
usr/src/uts/common/io/comstar/stmf/stmf.c (Diff revision 3) |
---|
Ummm, if I return right here, I'm still holding itask->itask_mutex. Isn't this a bug?