Lines Matching defs: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;
345 struct ocfs2_mem_dqinfo *oinfo = info->dqi_priv;
358 oinfo->dqi_gi.dqi_sb = sb;
359 oinfo->dqi_gi.dqi_type = type;
360 ocfs2_qinfo_lock_res_init(&oinfo->dqi_gqlock, oinfo);
361 oinfo->dqi_gi.dqi_entry_size = sizeof(struct ocfs2_global_disk_dqblk);
362 oinfo->dqi_gi.dqi_ops = &ocfs2_global_ops;
363 oinfo->dqi_gqi_bh = NULL;
364 oinfo->dqi_gqi_count = 0;
365 oinfo->dqi_gqinode = gqinode;
366 status = ocfs2_lock_global_qf(oinfo, 0);
372 status = ocfs2_extent_map_get_blocks(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);
464 struct ocfs2_mem_dqinfo *oinfo = sb_dqinfo(sb, type)->dqi_priv;
470 return oinfo->dqi_gi.dqi_qtree_depth;
601 struct ocfs2_mem_dqinfo *oinfo = sb_dqinfo(sb, type)->dqi_priv;
610 status = ocfs2_lock_global_qf(oinfo, 1);
631 ocfs2_unlock_global_qf(oinfo, 1);
638 struct ocfs2_mem_dqinfo *oinfo = container_of(work,
641 struct super_block *sb = oinfo->dqi_gqinode->i_sb;
649 dquot_scan_active(sb, ocfs2_sync_dquot_helper, oinfo->dqi_type);
652 schedule_delayed_work(&oinfo->dqi_sync_work,
653 msecs_to_jiffies(oinfo->dqi_syncms));
685 struct ocfs2_mem_dqinfo *oinfo = sb_dqinfo(sb, type)->dqi_priv;
691 return (oinfo->dqi_gi.dqi_qtree_depth + 2) *
721 struct ocfs2_mem_dqinfo *oinfo =
746 status = ocfs2_lock_global_qf(oinfo, 1);
779 ocfs2_unlock_global_qf(oinfo, 1);
920 struct ocfs2_mem_dqinfo *oinfo = sb_dqinfo(sb, type)->dqi_priv;
939 status = ocfs2_lock_global_qf(oinfo, 1);
960 ocfs2_unlock_global_qf(oinfo, 1);
972 struct ocfs2_mem_dqinfo *oinfo = sb_dqinfo(sb, type)->dqi_priv;
974 status = ocfs2_lock_global_qf(oinfo, 1);
986 ocfs2_unlock_global_qf(oinfo, 1);