Lines Matching refs:oinfo

117 	struct ocfs2_mem_dqinfo *oinfo =
120 if (qtree_entry_unused(&oinfo->dqi_gi, dp))
170 struct ocfs2_mem_dqinfo *oinfo = sb_dqinfo(sb, type)->dqi_priv;
171 struct inode *gqinode = oinfo->dqi_gqinode;
220 struct ocfs2_mem_dqinfo *oinfo = info->dqi_priv;
221 struct inode *gqinode = oinfo->dqi_gqinode;
246 oinfo->dqi_gqi_bh,
294 ocfs2_mark_inode_dirty(handle, gqinode, oinfo->dqi_gqi_bh);
298 int ocfs2_lock_global_qf(struct ocfs2_mem_dqinfo *oinfo, int ex)
303 status = ocfs2_inode_lock(oinfo->dqi_gqinode, &bh, ex);
307 if (!oinfo->dqi_gqi_count++)
308 oinfo->dqi_gqi_bh = bh;
310 WARN_ON(bh != oinfo->dqi_gqi_bh);
313 inode_lock(oinfo->dqi_gqinode);
314 down_write(&OCFS2_I(oinfo->dqi_gqinode)->ip_alloc_sem);
316 down_read(&OCFS2_I(oinfo->dqi_gqinode)->ip_alloc_sem);
321 void ocfs2_unlock_global_qf(struct ocfs2_mem_dqinfo *oinfo, int ex)
324 up_write(&OCFS2_I(oinfo->dqi_gqinode)->ip_alloc_sem);
325 inode_unlock(oinfo->dqi_gqinode);
327 up_read(&OCFS2_I(oinfo->dqi_gqinode)->ip_alloc_sem);
329 ocfs2_inode_unlock(oinfo->dqi_gqinode, ex);
330 brelse(oinfo->dqi_gqi_bh);
332 if (!--oinfo->dqi_gqi_count)
333 oinfo->dqi_gqi_bh = NULL;
344 struct ocfs2_mem_dqinfo *oinfo = info->dqi_priv;
348 oinfo->dqi_gi.dqi_sb = sb;
349 oinfo->dqi_gi.dqi_type = type;
350 ocfs2_qinfo_lock_res_init(&oinfo->dqi_gqlock, oinfo);
351 oinfo->dqi_gi.dqi_entry_size = sizeof(struct ocfs2_global_disk_dqblk);
352 oinfo->dqi_gi.dqi_ops = &ocfs2_global_ops;
353 oinfo->dqi_gqi_bh = NULL;
354 oinfo->dqi_gqi_count = 0;
357 oinfo->dqi_gqinode = ocfs2_get_system_file_inode(OCFS2_SB(sb), ino[type],
359 if (!oinfo->dqi_gqinode) {
366 status = ocfs2_lock_global_qf(oinfo, 0);
372 status = ocfs2_extent_map_get_blocks(oinfo->dqi_gqinode, 0, &oinfo->dqi_giblk,
377 status = ocfs2_qinfo_lock(oinfo, 0);
383 ocfs2_qinfo_unlock(oinfo, 0);
384 ocfs2_unlock_global_qf(oinfo, 0);
395 oinfo->dqi_syncms = le32_to_cpu(dinfo.dqi_syncms);
396 oinfo->dqi_gi.dqi_blocks = le32_to_cpu(dinfo.dqi_blocks);
397 oinfo->dqi_gi.dqi_free_blk = le32_to_cpu(dinfo.dqi_free_blk);
398 oinfo->dqi_gi.dqi_free_entry = le32_to_cpu(dinfo.dqi_free_entry);
399 oinfo->dqi_gi.dqi_blocksize_bits = sb->s_blocksize_bits;
400 oinfo->dqi_gi.dqi_usable_bs = sb->s_blocksize -
402 oinfo->dqi_gi.dqi_qtree_depth = qtree_depth(&oinfo->dqi_gi);
403 INIT_DELAYED_WORK(&oinfo->dqi_sync_work, qsync_work_fn);
404 schedule_delayed_work(&oinfo->dqi_sync_work,
405 msecs_to_jiffies(oinfo->dqi_syncms));
410 ocfs2_unlock_global_qf(oinfo, 0);
420 struct ocfs2_mem_dqinfo *oinfo = info->dqi_priv;
429 dinfo.dqi_syncms = cpu_to_le32(oinfo->dqi_syncms);
430 dinfo.dqi_blocks = cpu_to_le32(oinfo->dqi_gi.dqi_blocks);
431 dinfo.dqi_free_blk = cpu_to_le32(oinfo->dqi_gi.dqi_free_blk);
432 dinfo.dqi_free_entry = cpu_to_le32(oinfo->dqi_gi.dqi_free_entry);
467 struct ocfs2_mem_dqinfo *oinfo = sb_dqinfo(sb, type)->dqi_priv;
473 return oinfo->dqi_gi.dqi_qtree_depth;
604 struct ocfs2_mem_dqinfo *oinfo = sb_dqinfo(sb, type)->dqi_priv;
614 status = ocfs2_lock_global_qf(oinfo, 1);
637 ocfs2_unlock_global_qf(oinfo, 1);
644 struct ocfs2_mem_dqinfo *oinfo = container_of(work,
647 struct super_block *sb = oinfo->dqi_gqinode->i_sb;
655 dquot_scan_active(sb, ocfs2_sync_dquot_helper, oinfo->dqi_type);
658 schedule_delayed_work(&oinfo->dqi_sync_work,
659 msecs_to_jiffies(oinfo->dqi_syncms));
694 struct ocfs2_mem_dqinfo *oinfo = sb_dqinfo(sb, type)->dqi_priv;
700 return (oinfo->dqi_gi.dqi_qtree_depth + 2) *
730 struct ocfs2_mem_dqinfo *oinfo =
755 status = ocfs2_lock_global_qf(oinfo, 1);
788 ocfs2_unlock_global_qf(oinfo, 1);
929 struct ocfs2_mem_dqinfo *oinfo = sb_dqinfo(sb, type)->dqi_priv;
949 status = ocfs2_lock_global_qf(oinfo, 1);
972 ocfs2_unlock_global_qf(oinfo, 1);
984 struct ocfs2_mem_dqinfo *oinfo = sb_dqinfo(sb, type)->dqi_priv;
986 status = ocfs2_lock_global_qf(oinfo, 1);
998 ocfs2_unlock_global_qf(oinfo, 1);