Lines Matching refs:l_ctx
149 * @l_ctx: nfs_lock_context with io_counter to use
155 nfs_iocounter_wait(struct nfs_lock_context *l_ctx)
157 return wait_var_event_killable(&l_ctx->io_count,
158 !atomic_read(&l_ctx->io_count));
165 * @l_ctx: nfs_lock_context with io_counter to check
171 nfs_async_iocounter_wait(struct rpc_task *task, struct nfs_lock_context *l_ctx)
173 struct inode *inode = d_inode(l_ctx->open_context->dentry);
176 if (atomic_read(&l_ctx->io_count) > 0) {
181 if (atomic_read(&l_ctx->io_count) == 0) {
472 static struct nfs_page *nfs_page_create(struct nfs_lock_context *l_ctx,
477 struct nfs_open_context *ctx = l_ctx->open_context;
486 req->wb_lock_context = l_ctx;
487 refcount_inc(&l_ctx->count);
488 atomic_inc(&l_ctx->io_count);
536 struct nfs_lock_context *l_ctx = nfs_get_lock_context(ctx);
539 if (IS_ERR(l_ctx))
540 return ERR_CAST(l_ctx);
541 ret = nfs_page_create(l_ctx, pgbase, offset >> PAGE_SHIFT,
547 nfs_put_lock_context(l_ctx);
567 struct nfs_lock_context *l_ctx = nfs_get_lock_context(ctx);
570 if (IS_ERR(l_ctx))
571 return ERR_CAST(l_ctx);
572 ret = nfs_page_create(l_ctx, offset, folio_index(folio), offset, count);
577 nfs_put_lock_context(l_ctx);
646 struct nfs_lock_context *l_ctx = req->wb_lock_context;
657 if (l_ctx != NULL) {
658 if (atomic_dec_and_test(&l_ctx->io_count)) {
659 wake_up_var(&l_ctx->io_count);
660 ctx = l_ctx->open_context;
664 nfs_put_lock_context(l_ctx);