Lines Matching refs:rev
525 struct aa_revision *rev = file->private_data; in ns_revision_release() local
527 if (rev) { in ns_revision_release()
528 aa_put_ns(rev->ns); in ns_revision_release()
529 kfree(rev); in ns_revision_release()
538 struct aa_revision *rev = file->private_data; in ns_revision_read() local
543 mutex_lock_nested(&rev->ns->lock, rev->ns->level); in ns_revision_read()
544 last_read = rev->last_read; in ns_revision_read()
545 if (last_read == rev->ns->revision) { in ns_revision_read()
546 mutex_unlock(&rev->ns->lock); in ns_revision_read()
549 if (wait_event_interruptible(rev->ns->wait, in ns_revision_read()
551 READ_ONCE(rev->ns->revision))) in ns_revision_read()
553 mutex_lock_nested(&rev->ns->lock, rev->ns->level); in ns_revision_read()
556 avail = sprintf(buffer, "%ld\n", rev->ns->revision); in ns_revision_read()
558 rev->last_read = rev->ns->revision; in ns_revision_read()
561 mutex_unlock(&rev->ns->lock); in ns_revision_read()
568 struct aa_revision *rev = kzalloc(sizeof(*rev), GFP_KERNEL); in ns_revision_open() local
570 if (!rev) in ns_revision_open()
573 rev->ns = aa_get_ns(inode->i_private); in ns_revision_open()
574 if (!rev->ns) in ns_revision_open()
575 rev->ns = aa_get_current_ns(); in ns_revision_open()
576 file->private_data = rev; in ns_revision_open()
583 struct aa_revision *rev = file->private_data; in ns_revision_poll() local
586 if (rev) { in ns_revision_poll()
587 mutex_lock_nested(&rev->ns->lock, rev->ns->level); in ns_revision_poll()
588 poll_wait(file, &rev->ns->wait, pt); in ns_revision_poll()
589 if (rev->last_read < rev->ns->revision) in ns_revision_poll()
591 mutex_unlock(&rev->ns->lock); in ns_revision_poll()