Lines Matching refs:c

28 static int jffs2_flash_setup(struct jffs2_sb_info *c);
34 struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb); in jffs2_do_setattr() local
65 ret = jffs2_read_dnode(c, f, f->metadata, mdata, 0, mdatalen); in jffs2_do_setattr()
83 ret = jffs2_reserve_space(c, sizeof(*ri) + mdatalen, &alloclen, in jffs2_do_setattr()
137 new_metadata = jffs2_write_dnode(c, f, ri, mdata, mdatalen, alloc_type); in jffs2_do_setattr()
142 jffs2_complete_reservation(c); in jffs2_do_setattr()
159 jffs2_truncate_fragtree (c, &f->fragtree, iattr->ia_size); in jffs2_do_setattr()
162 jffs2_add_full_dnode_to_inode(c, f, new_metadata); in jffs2_do_setattr()
170 jffs2_mark_node_obsolete(c, old_metadata->raw); in jffs2_do_setattr()
176 jffs2_complete_reservation(c); in jffs2_do_setattr()
209 struct jffs2_sb_info *c = JFFS2_SB_INFO(dentry->d_sb); in jffs2_statfs() local
214 buf->f_blocks = c->flash_size >> PAGE_SHIFT; in jffs2_statfs()
219 buf->f_fsid.val[1] = c->mtd->index; in jffs2_statfs()
221 spin_lock(&c->erase_completion_lock); in jffs2_statfs()
222 avail = c->dirty_size + c->free_size; in jffs2_statfs()
223 if (avail > c->sector_size * c->resv_blocks_write) in jffs2_statfs()
224 avail -= c->sector_size * c->resv_blocks_write; in jffs2_statfs()
227 spin_unlock(&c->erase_completion_lock); in jffs2_statfs()
240 struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb); in jffs2_evict_inode() local
247 jffs2_do_clear_inode(c, f); in jffs2_evict_inode()
253 struct jffs2_sb_info *c; in jffs2_iget() local
269 c = JFFS2_SB_INFO(inode->i_sb); in jffs2_iget()
274 ret = jffs2_do_read_inode(c, f, inode->i_ino, &latest_node); in jffs2_iget()
333 ret = jffs2_read_dnode(c, f, f->metadata, (char *)&jdev, 0, f->metadata->size); in jffs2_iget()
366 jffs2_do_clear_inode(c, f); in jffs2_iget()
397 struct jffs2_sb_info *c = JFFS2_SB_INFO(sb); in jffs2_do_remount_fs() local
399 if (c->flags & JFFS2_SB_FLAG_RO && !(sb->s_flags & MS_RDONLY)) in jffs2_do_remount_fs()
407 jffs2_stop_garbage_collect_thread(c); in jffs2_do_remount_fs()
408 mutex_lock(&c->alloc_sem); in jffs2_do_remount_fs()
409 jffs2_flush_wbuf_pad(c); in jffs2_do_remount_fs()
410 mutex_unlock(&c->alloc_sem); in jffs2_do_remount_fs()
414 jffs2_start_garbage_collect_thread(c); in jffs2_do_remount_fs()
426 struct jffs2_sb_info *c; in jffs2_new_inode() local
433 c = JFFS2_SB_INFO(sb); in jffs2_new_inode()
465 ret = jffs2_do_new_inode (c, f, mode, ri); in jffs2_new_inode()
515 struct jffs2_sb_info *c; in jffs2_do_fill_super() local
520 c = JFFS2_SB_INFO(sb); in jffs2_do_fill_super()
523 if (c->mtd->type == MTD_MLCNANDFLASH) in jffs2_do_fill_super()
527 if (c->mtd->type == MTD_NANDFLASH) { in jffs2_do_fill_super()
531 if (c->mtd->type == MTD_DATAFLASH) { in jffs2_do_fill_super()
537 c->flash_size = c->mtd->size; in jffs2_do_fill_super()
538 c->sector_size = c->mtd->erasesize; in jffs2_do_fill_super()
539 blocks = c->flash_size / c->sector_size; in jffs2_do_fill_super()
544 if ((c->sector_size * blocks) != c->flash_size) { in jffs2_do_fill_super()
545 c->flash_size = c->sector_size * blocks; in jffs2_do_fill_super()
547 c->flash_size / 1024); in jffs2_do_fill_super()
550 if (c->flash_size < 5*c->sector_size) { in jffs2_do_fill_super()
552 c->flash_size / c->sector_size); in jffs2_do_fill_super()
556 c->cleanmarker_size = sizeof(struct jffs2_unknown_node); in jffs2_do_fill_super()
559 ret = jffs2_flash_setup(c); in jffs2_do_fill_super()
563 c->inocache_hashsize = calculate_inocache_hashsize(c->flash_size); in jffs2_do_fill_super()
564 c->inocache_list = kcalloc(c->inocache_hashsize, sizeof(struct jffs2_inode_cache *), GFP_KERNEL); in jffs2_do_fill_super()
565 if (!c->inocache_list) { in jffs2_do_fill_super()
570 jffs2_init_xattr_subsystem(c); in jffs2_do_fill_super()
572 if ((ret = jffs2_do_mount_fs(c))) in jffs2_do_fill_super()
595 jffs2_start_garbage_collect_thread(c); in jffs2_do_fill_super()
599 jffs2_free_ino_caches(c); in jffs2_do_fill_super()
600 jffs2_free_raw_node_refs(c); in jffs2_do_fill_super()
601 if (jffs2_blocks_use_vmalloc(c)) in jffs2_do_fill_super()
602 vfree(c->blocks); in jffs2_do_fill_super()
604 kfree(c->blocks); in jffs2_do_fill_super()
606 jffs2_clear_xattr_subsystem(c); in jffs2_do_fill_super()
607 kfree(c->inocache_list); in jffs2_do_fill_super()
609 jffs2_flash_cleanup(c); in jffs2_do_fill_super()
614 void jffs2_gc_release_inode(struct jffs2_sb_info *c, in jffs2_gc_release_inode() argument
620 struct jffs2_inode_info *jffs2_gc_fetch_inode(struct jffs2_sb_info *c, in jffs2_gc_fetch_inode() argument
641 inode = ilookup(OFNI_BS_2SFFJ(c), inum); in jffs2_gc_fetch_inode()
646 spin_lock(&c->inocache_lock); in jffs2_gc_fetch_inode()
647 ic = jffs2_get_ino_cache(c, inum); in jffs2_gc_fetch_inode()
651 spin_unlock(&c->inocache_lock); in jffs2_gc_fetch_inode()
658 sleep_on_spinunlock(&c->inocache_wq, &c->inocache_lock); in jffs2_gc_fetch_inode()
660 spin_unlock(&c->inocache_lock); in jffs2_gc_fetch_inode()
670 inode = jffs2_iget(OFNI_BS_2SFFJ(c), inum); in jffs2_gc_fetch_inode()
685 unsigned char *jffs2_gc_fetch_page(struct jffs2_sb_info *c, in jffs2_gc_fetch_page() argument
702 void jffs2_gc_release_page(struct jffs2_sb_info *c, in jffs2_gc_release_page() argument
712 static int jffs2_flash_setup(struct jffs2_sb_info *c) { in jffs2_flash_setup() argument
715 if (jffs2_cleanmarker_oob(c)) { in jffs2_flash_setup()
717 ret = jffs2_nand_flash_setup(c); in jffs2_flash_setup()
723 if (jffs2_dataflash(c)) { in jffs2_flash_setup()
724 ret = jffs2_dataflash_setup(c); in jffs2_flash_setup()
730 if (jffs2_nor_wbuf_flash(c)) { in jffs2_flash_setup()
731 ret = jffs2_nor_wbuf_flash_setup(c); in jffs2_flash_setup()
737 if (jffs2_ubivol(c)) { in jffs2_flash_setup()
738 ret = jffs2_ubivol_setup(c); in jffs2_flash_setup()
746 void jffs2_flash_cleanup(struct jffs2_sb_info *c) { in jffs2_flash_cleanup() argument
748 if (jffs2_cleanmarker_oob(c)) { in jffs2_flash_cleanup()
749 jffs2_nand_flash_cleanup(c); in jffs2_flash_cleanup()
753 if (jffs2_dataflash(c)) { in jffs2_flash_cleanup()
754 jffs2_dataflash_cleanup(c); in jffs2_flash_cleanup()
758 if (jffs2_nor_wbuf_flash(c)) { in jffs2_flash_cleanup()
759 jffs2_nor_wbuf_flash_cleanup(c); in jffs2_flash_cleanup()
763 if (jffs2_ubivol(c)) { in jffs2_flash_cleanup()
764 jffs2_ubivol_cleanup(c); in jffs2_flash_cleanup()