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()
331 ret = jffs2_read_dnode(c, f, f->metadata, (char *)&jdev, 0, f->metadata->size); in jffs2_iget()
364 jffs2_do_clear_inode(c, f); in jffs2_iget()
395 struct jffs2_sb_info *c = JFFS2_SB_INFO(sb); in jffs2_do_remount_fs() local
397 if (c->flags & JFFS2_SB_FLAG_RO && !(sb->s_flags & MS_RDONLY)) in jffs2_do_remount_fs()
405 jffs2_stop_garbage_collect_thread(c); in jffs2_do_remount_fs()
406 mutex_lock(&c->alloc_sem); in jffs2_do_remount_fs()
407 jffs2_flush_wbuf_pad(c); in jffs2_do_remount_fs()
408 mutex_unlock(&c->alloc_sem); in jffs2_do_remount_fs()
412 jffs2_start_garbage_collect_thread(c); in jffs2_do_remount_fs()
424 struct jffs2_sb_info *c; in jffs2_new_inode() local
431 c = JFFS2_SB_INFO(sb); in jffs2_new_inode()
463 ret = jffs2_do_new_inode (c, f, mode, ri); in jffs2_new_inode()
513 struct jffs2_sb_info *c; in jffs2_do_fill_super() local
518 c = JFFS2_SB_INFO(sb); in jffs2_do_fill_super()
521 if (c->mtd->type == MTD_MLCNANDFLASH) in jffs2_do_fill_super()
525 if (c->mtd->type == MTD_NANDFLASH) { in jffs2_do_fill_super()
529 if (c->mtd->type == MTD_DATAFLASH) { in jffs2_do_fill_super()
535 c->flash_size = c->mtd->size; in jffs2_do_fill_super()
536 c->sector_size = c->mtd->erasesize; in jffs2_do_fill_super()
537 blocks = c->flash_size / c->sector_size; in jffs2_do_fill_super()
542 if ((c->sector_size * blocks) != c->flash_size) { in jffs2_do_fill_super()
543 c->flash_size = c->sector_size * blocks; in jffs2_do_fill_super()
545 c->flash_size / 1024); in jffs2_do_fill_super()
548 if (c->flash_size < 5*c->sector_size) { in jffs2_do_fill_super()
550 c->flash_size / c->sector_size); in jffs2_do_fill_super()
554 c->cleanmarker_size = sizeof(struct jffs2_unknown_node); in jffs2_do_fill_super()
557 ret = jffs2_flash_setup(c); in jffs2_do_fill_super()
561 c->inocache_hashsize = calculate_inocache_hashsize(c->flash_size); in jffs2_do_fill_super()
562 c->inocache_list = kcalloc(c->inocache_hashsize, sizeof(struct jffs2_inode_cache *), GFP_KERNEL); in jffs2_do_fill_super()
563 if (!c->inocache_list) { in jffs2_do_fill_super()
568 jffs2_init_xattr_subsystem(c); in jffs2_do_fill_super()
570 if ((ret = jffs2_do_mount_fs(c))) in jffs2_do_fill_super()
593 jffs2_start_garbage_collect_thread(c); in jffs2_do_fill_super()
597 jffs2_free_ino_caches(c); in jffs2_do_fill_super()
598 jffs2_free_raw_node_refs(c); in jffs2_do_fill_super()
599 if (jffs2_blocks_use_vmalloc(c)) in jffs2_do_fill_super()
600 vfree(c->blocks); in jffs2_do_fill_super()
602 kfree(c->blocks); in jffs2_do_fill_super()
604 jffs2_clear_xattr_subsystem(c); in jffs2_do_fill_super()
605 kfree(c->inocache_list); in jffs2_do_fill_super()
607 jffs2_flash_cleanup(c); in jffs2_do_fill_super()
612 void jffs2_gc_release_inode(struct jffs2_sb_info *c, in jffs2_gc_release_inode() argument
618 struct jffs2_inode_info *jffs2_gc_fetch_inode(struct jffs2_sb_info *c, in jffs2_gc_fetch_inode() argument
639 inode = ilookup(OFNI_BS_2SFFJ(c), inum); in jffs2_gc_fetch_inode()
644 spin_lock(&c->inocache_lock); in jffs2_gc_fetch_inode()
645 ic = jffs2_get_ino_cache(c, inum); in jffs2_gc_fetch_inode()
649 spin_unlock(&c->inocache_lock); in jffs2_gc_fetch_inode()
656 sleep_on_spinunlock(&c->inocache_wq, &c->inocache_lock); in jffs2_gc_fetch_inode()
658 spin_unlock(&c->inocache_lock); in jffs2_gc_fetch_inode()
668 inode = jffs2_iget(OFNI_BS_2SFFJ(c), inum); in jffs2_gc_fetch_inode()
683 unsigned char *jffs2_gc_fetch_page(struct jffs2_sb_info *c, in jffs2_gc_fetch_page() argument
700 void jffs2_gc_release_page(struct jffs2_sb_info *c, in jffs2_gc_release_page() argument
710 static int jffs2_flash_setup(struct jffs2_sb_info *c) { in jffs2_flash_setup() argument
713 if (jffs2_cleanmarker_oob(c)) { in jffs2_flash_setup()
715 ret = jffs2_nand_flash_setup(c); in jffs2_flash_setup()
721 if (jffs2_dataflash(c)) { in jffs2_flash_setup()
722 ret = jffs2_dataflash_setup(c); in jffs2_flash_setup()
728 if (jffs2_nor_wbuf_flash(c)) { in jffs2_flash_setup()
729 ret = jffs2_nor_wbuf_flash_setup(c); in jffs2_flash_setup()
735 if (jffs2_ubivol(c)) { in jffs2_flash_setup()
736 ret = jffs2_ubivol_setup(c); in jffs2_flash_setup()
744 void jffs2_flash_cleanup(struct jffs2_sb_info *c) { in jffs2_flash_cleanup() argument
746 if (jffs2_cleanmarker_oob(c)) { in jffs2_flash_cleanup()
747 jffs2_nand_flash_cleanup(c); in jffs2_flash_cleanup()
751 if (jffs2_dataflash(c)) { in jffs2_flash_cleanup()
752 jffs2_dataflash_cleanup(c); in jffs2_flash_cleanup()
756 if (jffs2_nor_wbuf_flash(c)) { in jffs2_flash_cleanup()
757 jffs2_nor_wbuf_flash_cleanup(c); in jffs2_flash_cleanup()
761 if (jffs2_ubivol(c)) { in jffs2_flash_cleanup()
762 jffs2_ubivol_cleanup(c); in jffs2_flash_cleanup()