Lines Matching defs:c
28 static int jffs2_flash_setup(struct jffs2_sb_info *c);
34 struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
65 ret = jffs2_read_dnode(c, f, f->metadata, mdata, 0, mdatalen);
83 ret = jffs2_reserve_space(c, sizeof(*ri) + mdatalen, &alloclen,
137 new_metadata = jffs2_write_dnode(c, f, ri, mdata, mdatalen, alloc_type);
142 jffs2_complete_reservation(c);
159 jffs2_truncate_fragtree (c, &f->fragtree, iattr->ia_size);
162 jffs2_add_full_dnode_to_inode(c, f, new_metadata);
170 jffs2_mark_node_obsolete(c, old_metadata->raw);
176 jffs2_complete_reservation(c);
209 struct jffs2_sb_info *c = JFFS2_SB_INFO(dentry->d_sb);
214 buf->f_blocks = c->flash_size >> PAGE_SHIFT;
219 buf->f_fsid.val[1] = c->mtd->index;
221 spin_lock(&c->erase_completion_lock);
222 avail = c->dirty_size + c->free_size;
223 if (avail > c->sector_size * c->resv_blocks_write)
224 avail -= c->sector_size * c->resv_blocks_write;
227 spin_unlock(&c->erase_completion_lock);
240 struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
247 jffs2_do_clear_inode(c, f);
253 struct jffs2_sb_info *c;
269 c = JFFS2_SB_INFO(inode->i_sb);
274 ret = jffs2_do_read_inode(c, f, inode->i_ino, &latest_node);
331 ret = jffs2_read_dnode(c, f, f->metadata, (char *)&jdev, 0, f->metadata->size);
364 jffs2_do_clear_inode(c, f);
395 struct jffs2_sb_info *c = JFFS2_SB_INFO(sb);
397 if (c->flags & JFFS2_SB_FLAG_RO && !(sb->s_flags & MS_RDONLY))
405 jffs2_stop_garbage_collect_thread(c);
406 mutex_lock(&c->alloc_sem);
407 jffs2_flush_wbuf_pad(c);
408 mutex_unlock(&c->alloc_sem);
412 jffs2_start_garbage_collect_thread(c);
424 struct jffs2_sb_info *c;
431 c = JFFS2_SB_INFO(sb);
463 ret = jffs2_do_new_inode (c, f, mode, ri);
513 struct jffs2_sb_info *c;
518 c = JFFS2_SB_INFO(sb);
521 if (c->mtd->type == MTD_MLCNANDFLASH)
525 if (c->mtd->type == MTD_NANDFLASH) {
529 if (c->mtd->type == MTD_DATAFLASH) {
535 c->flash_size = c->mtd->size;
536 c->sector_size = c->mtd->erasesize;
537 blocks = c->flash_size / c->sector_size;
542 if ((c->sector_size * blocks) != c->flash_size) {
543 c->flash_size = c->sector_size * blocks;
545 c->flash_size / 1024);
548 if (c->flash_size < 5*c->sector_size) {
550 c->flash_size / c->sector_size);
554 c->cleanmarker_size = sizeof(struct jffs2_unknown_node);
557 ret = jffs2_flash_setup(c);
561 c->inocache_hashsize = calculate_inocache_hashsize(c->flash_size);
562 c->inocache_list = kcalloc(c->inocache_hashsize, sizeof(struct jffs2_inode_cache *), GFP_KERNEL);
563 if (!c->inocache_list) {
568 jffs2_init_xattr_subsystem(c);
570 if ((ret = jffs2_do_mount_fs(c)))
593 jffs2_start_garbage_collect_thread(c);
597 jffs2_free_ino_caches(c);
598 jffs2_free_raw_node_refs(c);
599 kvfree(c->blocks);
601 jffs2_clear_xattr_subsystem(c);
602 kfree(c->inocache_list);
604 jffs2_flash_cleanup(c);
609 void jffs2_gc_release_inode(struct jffs2_sb_info *c,
615 struct jffs2_inode_info *jffs2_gc_fetch_inode(struct jffs2_sb_info *c,
636 inode = ilookup(OFNI_BS_2SFFJ(c), inum);
641 spin_lock(&c->inocache_lock);
642 ic = jffs2_get_ino_cache(c, inum);
646 spin_unlock(&c->inocache_lock);
653 sleep_on_spinunlock(&c->inocache_wq, &c->inocache_lock);
655 spin_unlock(&c->inocache_lock);
665 inode = jffs2_iget(OFNI_BS_2SFFJ(c), inum);
680 unsigned char *jffs2_gc_fetch_page(struct jffs2_sb_info *c,
697 void jffs2_gc_release_page(struct jffs2_sb_info *c,
707 static int jffs2_flash_setup(struct jffs2_sb_info *c) {
710 if (jffs2_cleanmarker_oob(c)) {
712 ret = jffs2_nand_flash_setup(c);
718 if (jffs2_dataflash(c)) {
719 ret = jffs2_dataflash_setup(c);
725 if (jffs2_nor_wbuf_flash(c)) {
726 ret = jffs2_nor_wbuf_flash_setup(c);
732 if (jffs2_ubivol(c)) {
733 ret = jffs2_ubivol_setup(c);
741 void jffs2_flash_cleanup(struct jffs2_sb_info *c) {
743 if (jffs2_cleanmarker_oob(c)) {
744 jffs2_nand_flash_cleanup(c);
748 if (jffs2_dataflash(c)) {
749 jffs2_dataflash_cleanup(c);
753 if (jffs2_nor_wbuf_flash(c)) {
754 jffs2_nor_wbuf_flash_cleanup(c);
758 if (jffs2_ubivol(c)) {
759 jffs2_ubivol_cleanup(c);