Lines Matching refs:luo_file

158 struct luo_file {  struct
204 struct luo_file *iter; in luo_token_is_used()
257 struct luo_file *luo_file; in luo_preserve_file() local
287 luo_file = kzalloc(sizeof(*luo_file), GFP_KERNEL); in luo_preserve_file()
288 if (!luo_file) { in luo_preserve_file()
293 luo_file->file = file; in luo_preserve_file()
294 luo_file->fh = fh; in luo_preserve_file()
295 luo_file->token = token; in luo_preserve_file()
296 luo_file->retrieved = false; in luo_preserve_file()
297 mutex_init(&luo_file->mutex); in luo_preserve_file()
305 luo_file->serialized_data = args.serialized_data; in luo_preserve_file()
306 luo_file->private_data = args.private_data; in luo_preserve_file()
307 list_add_tail(&luo_file->list, &file_set->files_list); in luo_preserve_file()
313 kfree(luo_file); in luo_preserve_file()
342 struct luo_file *luo_file; in luo_file_unpreserve_files() local
347 luo_file = list_last_entry(&file_set->files_list, in luo_file_unpreserve_files()
348 struct luo_file, list); in luo_file_unpreserve_files()
350 args.handler = luo_file->fh; in luo_file_unpreserve_files()
351 args.file = luo_file->file; in luo_file_unpreserve_files()
352 args.serialized_data = luo_file->serialized_data; in luo_file_unpreserve_files()
353 args.private_data = luo_file->private_data; in luo_file_unpreserve_files()
354 luo_file->fh->ops->unpreserve(&args); in luo_file_unpreserve_files()
356 list_del(&luo_file->list); in luo_file_unpreserve_files()
359 fput(luo_file->file); in luo_file_unpreserve_files()
360 mutex_destroy(&luo_file->mutex); in luo_file_unpreserve_files()
361 kfree(luo_file); in luo_file_unpreserve_files()
368 struct luo_file *luo_file) in luo_file_freeze_one() argument
372 guard(mutex)(&luo_file->mutex); in luo_file_freeze_one()
374 if (luo_file->fh->ops->freeze) { in luo_file_freeze_one()
377 args.handler = luo_file->fh; in luo_file_freeze_one()
378 args.file = luo_file->file; in luo_file_freeze_one()
379 args.serialized_data = luo_file->serialized_data; in luo_file_freeze_one()
380 args.private_data = luo_file->private_data; in luo_file_freeze_one()
382 err = luo_file->fh->ops->freeze(&args); in luo_file_freeze_one()
384 luo_file->serialized_data = args.serialized_data; in luo_file_freeze_one()
391 struct luo_file *luo_file) in luo_file_unfreeze_one() argument
393 guard(mutex)(&luo_file->mutex); in luo_file_unfreeze_one()
395 if (luo_file->fh->ops->unfreeze) { in luo_file_unfreeze_one()
398 args.handler = luo_file->fh; in luo_file_unfreeze_one()
399 args.file = luo_file->file; in luo_file_unfreeze_one()
400 args.serialized_data = luo_file->serialized_data; in luo_file_unfreeze_one()
401 args.private_data = luo_file->private_data; in luo_file_unfreeze_one()
403 luo_file->fh->ops->unfreeze(&args); in luo_file_unfreeze_one()
408 struct luo_file *failed_entry) in __luo_file_unfreeze()
411 struct luo_file *luo_file; in __luo_file_unfreeze() local
413 list_for_each_entry(luo_file, files_list, list) { in __luo_file_unfreeze()
414 if (luo_file == failed_entry) in __luo_file_unfreeze()
417 luo_file_unfreeze_one(file_set, luo_file); in __luo_file_unfreeze()
460 struct luo_file *luo_file; in luo_file_freeze() local
471 list_for_each_entry(luo_file, &file_set->files_list, list) { in luo_file_freeze()
472 err = luo_file_freeze_one(file_set, luo_file); in luo_file_freeze()
475 luo_file->token, luo_file->fh->compatible, in luo_file_freeze()
480 strscpy(file_ser[i].compatible, luo_file->fh->compatible, in luo_file_freeze()
482 file_ser[i].data = luo_file->serialized_data; in luo_file_freeze()
483 file_ser[i].token = luo_file->token; in luo_file_freeze()
494 __luo_file_unfreeze(file_set, luo_file); in luo_file_freeze()
554 struct luo_file *luo_file; in luo_retrieve_file() local
561 list_for_each_entry(luo_file, &file_set->files_list, list) { in luo_retrieve_file()
562 if (luo_file->token == token) { in luo_retrieve_file()
571 guard(mutex)(&luo_file->mutex); in luo_retrieve_file()
572 if (luo_file->retrieved) { in luo_retrieve_file()
577 get_file(luo_file->file); in luo_retrieve_file()
578 *filep = luo_file->file; in luo_retrieve_file()
582 args.handler = luo_file->fh; in luo_retrieve_file()
583 args.serialized_data = luo_file->serialized_data; in luo_retrieve_file()
584 err = luo_file->fh->ops->retrieve(&args); in luo_retrieve_file()
586 luo_file->file = args.file; in luo_retrieve_file()
589 get_file(luo_file->file); in luo_retrieve_file()
590 *filep = luo_file->file; in luo_retrieve_file()
591 luo_file->retrieved = true; in luo_retrieve_file()
598 struct luo_file *luo_file) in luo_file_can_finish_one() argument
602 guard(mutex)(&luo_file->mutex); in luo_file_can_finish_one()
604 if (luo_file->fh->ops->can_finish) { in luo_file_can_finish_one()
607 args.handler = luo_file->fh; in luo_file_can_finish_one()
608 args.file = luo_file->file; in luo_file_can_finish_one()
609 args.serialized_data = luo_file->serialized_data; in luo_file_can_finish_one()
610 args.retrieved = luo_file->retrieved; in luo_file_can_finish_one()
611 can_finish = luo_file->fh->ops->can_finish(&args); in luo_file_can_finish_one()
618 struct luo_file *luo_file) in luo_file_finish_one() argument
622 guard(mutex)(&luo_file->mutex); in luo_file_finish_one()
624 args.handler = luo_file->fh; in luo_file_finish_one()
625 args.file = luo_file->file; in luo_file_finish_one()
626 args.serialized_data = luo_file->serialized_data; in luo_file_finish_one()
627 args.retrieved = luo_file->retrieved; in luo_file_finish_one()
629 luo_file->fh->ops->finish(&args); in luo_file_finish_one()
667 struct luo_file *luo_file; in luo_file_finish() local
673 list_for_each_entry(luo_file, files_list, list) { in luo_file_finish()
674 err = luo_file_can_finish_one(file_set, luo_file); in luo_file_finish()
680 luo_file = list_last_entry(&file_set->files_list, in luo_file_finish()
681 struct luo_file, list); in luo_file_finish()
683 luo_file_finish_one(file_set, luo_file); in luo_file_finish()
685 if (luo_file->file) in luo_file_finish()
686 fput(luo_file->file); in luo_file_finish()
687 list_del(&luo_file->list); in luo_file_finish()
689 mutex_destroy(&luo_file->mutex); in luo_file_finish()
690 kfree(luo_file); in luo_file_finish()
759 struct luo_file *luo_file; in luo_file_deserialize() local
774 luo_file = kzalloc(sizeof(*luo_file), GFP_KERNEL); in luo_file_deserialize()
775 if (!luo_file) in luo_file_deserialize()
778 luo_file->fh = fh; in luo_file_deserialize()
779 luo_file->file = NULL; in luo_file_deserialize()
780 luo_file->serialized_data = file_ser[i].data; in luo_file_deserialize()
781 luo_file->token = file_ser[i].token; in luo_file_deserialize()
782 luo_file->retrieved = false; in luo_file_deserialize()
783 mutex_init(&luo_file->mutex); in luo_file_deserialize()
784 list_add_tail(&luo_file->list, &file_set->files_list); in luo_file_deserialize()