Skip to content

Commit

Permalink
FS-Cache: Move fscache_report_unexpected_submission() to make it more…
Browse files Browse the repository at this point in the history
… 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>
  • Loading branch information
dhowells committed Apr 2, 2015
1 parent 182d919 commit 3c30598
Showing 1 changed file with 37 additions and 37 deletions.
74 changes: 37 additions & 37 deletions fs/fscache/operation.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand Down

0 comments on commit 3c30598

Please sign in to comment.