mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 13:44:15 +08:00
FS-Cache: Move fscache_report_unexpected_submission() to make it more available
Move fscache_report_unexpected_submission() up within operation.c so that it can be called from fscache_submit_exclusive_op() too. Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-by: Steve Dickson <steved@redhat.com> Acked-by: Jeff Layton <jeff.layton@primarydata.com>
This commit is contained in:
parent
182d919b84
commit
3c3059841a
@ -75,6 +75,43 @@ static void fscache_run_op(struct fscache_object *object,
|
||||
fscache_stat(&fscache_n_op_run);
|
||||
}
|
||||
|
||||
/*
|
||||
* report an unexpected submission
|
||||
*/
|
||||
static void fscache_report_unexpected_submission(struct fscache_object *object,
|
||||
struct fscache_operation *op,
|
||||
const struct fscache_state *ostate)
|
||||
{
|
||||
static bool once_only;
|
||||
struct fscache_operation *p;
|
||||
unsigned n;
|
||||
|
||||
if (once_only)
|
||||
return;
|
||||
once_only = true;
|
||||
|
||||
kdebug("unexpected submission OP%x [OBJ%x %s]",
|
||||
op->debug_id, object->debug_id, object->state->name);
|
||||
kdebug("objstate=%s [%s]", object->state->name, ostate->name);
|
||||
kdebug("objflags=%lx", object->flags);
|
||||
kdebug("objevent=%lx [%lx]", object->events, object->event_mask);
|
||||
kdebug("ops=%u inp=%u exc=%u",
|
||||
object->n_ops, object->n_in_progress, object->n_exclusive);
|
||||
|
||||
if (!list_empty(&object->pending_ops)) {
|
||||
n = 0;
|
||||
list_for_each_entry(p, &object->pending_ops, pend_link) {
|
||||
ASSERTCMP(p->object, ==, object);
|
||||
kdebug("%p %p", op->processor, op->release);
|
||||
n++;
|
||||
}
|
||||
|
||||
kdebug("n=%u", n);
|
||||
}
|
||||
|
||||
dump_stack();
|
||||
}
|
||||
|
||||
/*
|
||||
* submit an exclusive operation for an object
|
||||
* - other ops are excluded from running simultaneously with this one
|
||||
@ -138,43 +175,6 @@ int fscache_submit_exclusive_op(struct fscache_object *object,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* report an unexpected submission
|
||||
*/
|
||||
static void fscache_report_unexpected_submission(struct fscache_object *object,
|
||||
struct fscache_operation *op,
|
||||
const struct fscache_state *ostate)
|
||||
{
|
||||
static bool once_only;
|
||||
struct fscache_operation *p;
|
||||
unsigned n;
|
||||
|
||||
if (once_only)
|
||||
return;
|
||||
once_only = true;
|
||||
|
||||
kdebug("unexpected submission OP%x [OBJ%x %s]",
|
||||
op->debug_id, object->debug_id, object->state->name);
|
||||
kdebug("objstate=%s [%s]", object->state->name, ostate->name);
|
||||
kdebug("objflags=%lx", object->flags);
|
||||
kdebug("objevent=%lx [%lx]", object->events, object->event_mask);
|
||||
kdebug("ops=%u inp=%u exc=%u",
|
||||
object->n_ops, object->n_in_progress, object->n_exclusive);
|
||||
|
||||
if (!list_empty(&object->pending_ops)) {
|
||||
n = 0;
|
||||
list_for_each_entry(p, &object->pending_ops, pend_link) {
|
||||
ASSERTCMP(p->object, ==, object);
|
||||
kdebug("%p %p", op->processor, op->release);
|
||||
n++;
|
||||
}
|
||||
|
||||
kdebug("n=%u", n);
|
||||
}
|
||||
|
||||
dump_stack();
|
||||
}
|
||||
|
||||
/*
|
||||
* submit an operation for an object
|
||||
* - objects may be submitted only in the following states:
|
||||
|
Loading…
Reference in New Issue
Block a user