Lines Matching refs:flb
84 struct liveupdate_flb *flb; member
89 static struct luo_flb_private *luo_flb_get_private(struct liveupdate_flb *flb) in luo_flb_get_private() argument
91 struct luo_flb_private *private = &ACCESS_PRIVATE(flb, private); in luo_flb_get_private()
104 static int luo_flb_file_preserve_one(struct liveupdate_flb *flb) in luo_flb_file_preserve_one() argument
106 struct luo_flb_private *private = luo_flb_get_private(flb); in luo_flb_file_preserve_one()
113 args.flb = flb; in luo_flb_file_preserve_one()
114 err = flb->ops->preserve(&args); in luo_flb_file_preserve_one()
126 static void luo_flb_file_unpreserve_one(struct liveupdate_flb *flb) in luo_flb_file_unpreserve_one() argument
128 struct luo_flb_private *private = luo_flb_get_private(flb); in luo_flb_file_unpreserve_one()
135 args.flb = flb; in luo_flb_file_unpreserve_one()
139 if (flb->ops->unpreserve) in luo_flb_file_unpreserve_one()
140 flb->ops->unpreserve(&args); in luo_flb_file_unpreserve_one()
148 static int luo_flb_retrieve_one(struct liveupdate_flb *flb) in luo_flb_retrieve_one() argument
150 struct luo_flb_private *private = luo_flb_get_private(flb); in luo_flb_retrieve_one()
168 if (!strcmp(fh->ser[i].name, flb->compatible)) { in luo_flb_retrieve_one()
179 args.flb = flb; in luo_flb_retrieve_one()
182 err = flb->ops->retrieve(&args); in luo_flb_retrieve_one()
192 static void luo_flb_file_finish_one(struct liveupdate_flb *flb) in luo_flb_file_finish_one() argument
194 struct luo_flb_private *private = luo_flb_get_private(flb); in luo_flb_file_finish_one()
204 int err = luo_flb_retrieve_one(flb); in luo_flb_file_finish_one()
211 args.flb = flb; in luo_flb_file_finish_one()
213 flb->ops->finish(&args); in luo_flb_file_finish_one()
244 err = luo_flb_file_preserve_one(iter->flb); in luo_flb_file_preserve()
253 luo_flb_file_unpreserve_one(iter->flb); in luo_flb_file_preserve()
276 luo_flb_file_unpreserve_one(iter->flb); in luo_flb_file_unpreserve()
296 luo_flb_file_finish_one(iter->flb); in luo_flb_file_finish()
322 struct liveupdate_flb *flb) in liveupdate_register_flb() argument
324 struct luo_flb_private *private = luo_flb_get_private(flb); in liveupdate_register_flb()
334 if (WARN_ON(!flb->ops->preserve || !flb->ops->unpreserve || in liveupdate_register_flb()
335 !flb->ops->retrieve || !flb->ops->finish)) { in liveupdate_register_flb()
361 if (iter->flb == flb) in liveupdate_register_flb()
382 if (!strcmp(gflb->compatible, flb->compatible)) in liveupdate_register_flb()
386 if (!try_module_get(flb->ops->owner)) { in liveupdate_register_flb()
397 link->flb = flb; in liveupdate_register_flb()
430 struct liveupdate_flb *flb) in liveupdate_unregister_flb() argument
432 struct luo_flb_private *private = luo_flb_get_private(flb); in liveupdate_unregister_flb()
449 if (iter->flb == flb) { in liveupdate_unregister_flb()
468 module_put(flb->ops->owner); in liveupdate_unregister_flb()
497 int liveupdate_flb_get_incoming(struct liveupdate_flb *flb, void **objp) in liveupdate_flb_get_incoming() argument
499 struct luo_flb_private *private = luo_flb_get_private(flb); in liveupdate_flb_get_incoming()
505 int err = luo_flb_retrieve_one(flb); in liveupdate_flb_get_incoming()
531 int liveupdate_flb_get_outgoing(struct liveupdate_flb *flb, void **objp) in liveupdate_flb_get_outgoing() argument
533 struct luo_flb_private *private = luo_flb_get_private(flb); in liveupdate_flb_get_outgoing()