Lines Matching refs:sdp
28 static void gfs2_print_trans(struct gfs2_sbd *sdp, const struct gfs2_trans *tr)
30 fs_warn(sdp, "Transaction created at: %pSR\n", (void *)tr->tr_ip);
31 fs_warn(sdp, "blocks=%u revokes=%u reserved=%u touched=%u\n",
34 fs_warn(sdp, "Buf %u/%u Databuf %u/%u Revoke %u/%u\n",
40 int gfs2_trans_begin(struct gfs2_sbd *sdp, unsigned int blocks,
47 gfs2_print_trans(sdp, current->journal_info);
52 if (!test_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags))
67 tr->tr_reserved += gfs2_struct2blk(sdp, revokes);
74 sb_start_intwrite(sdp->sd_vfs);
76 error = gfs2_log_reserve(sdp, tr->tr_reserved);
85 sb_end_intwrite(sdp->sd_vfs);
91 void gfs2_trans_end(struct gfs2_sbd *sdp)
100 gfs2_log_release(sdp, tr->tr_reserved);
102 gfs2_trans_free(sdp, tr);
103 sb_end_intwrite(sdp->sd_vfs);
112 if (gfs2_assert_withdraw(sdp, (nbuf <= tr->tr_blocks) &&
114 gfs2_print_trans(sdp, tr);
116 gfs2_log_commit(sdp, tr);
118 gfs2_trans_free(sdp, tr);
119 up_read(&sdp->sd_log_flush_lock);
121 if (sdp->sd_vfs->s_flags & SB_SYNCHRONOUS)
122 gfs2_log_flush(sdp, NULL, GFS2_LOG_HEAD_FLUSH_NORMAL |
125 sb_end_intwrite(sdp->sd_vfs);
160 struct gfs2_sbd *sdp = gl->gl_name.ln_sbd;
168 gfs2_log_lock(sdp);
171 gfs2_log_unlock(sdp);
178 gfs2_log_lock(sdp);
180 gfs2_assert(sdp, bd->bd_gl == gl);
185 gfs2_pin(sdp, bd->bd_bh);
189 gfs2_log_unlock(sdp);
197 struct gfs2_sbd *sdp = gl->gl_name.ln_sbd;
201 enum gfs2_freeze_state state = atomic_read(&sdp->sd_freeze_state);
208 gfs2_log_lock(sdp);
211 gfs2_log_unlock(sdp);
220 gfs2_log_lock(sdp);
222 gfs2_assert(sdp, bd->bd_gl == gl);
230 fs_err(sdp, "Attempting to add uninitialised block to "
236 fs_info(sdp, "GFS2:adding buf while frozen\n");
237 gfs2_assert_withdraw(sdp, 0);
239 if (unlikely(gfs2_withdrawn(sdp))) {
240 fs_info(sdp, "GFS2:adding buf while withdrawn! 0x%llx\n",
243 gfs2_pin(sdp, bd->bd_bh);
245 mh->mh_jid = cpu_to_be32(sdp->sd_jdesc->jd_jid);
249 gfs2_log_unlock(sdp);
254 void gfs2_trans_add_revoke(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd)
259 gfs2_add_revoke(sdp, bd);
264 void gfs2_trans_remove_revoke(struct gfs2_sbd *sdp, u64 blkno, unsigned int len)
270 gfs2_log_lock(sdp);
271 list_for_each_entry_safe(bd, tmp, &sdp->sd_log_revokes, bd_list) {
274 gfs2_assert_withdraw(sdp, sdp->sd_log_num_revoke);
275 sdp->sd_log_num_revoke--;
284 gfs2_log_unlock(sdp);
287 void gfs2_trans_free(struct gfs2_sbd *sdp, struct gfs2_trans *tr)
292 gfs2_assert_warn(sdp, list_empty(&tr->tr_ail1_list));
293 gfs2_assert_warn(sdp, list_empty(&tr->tr_ail2_list));
294 gfs2_assert_warn(sdp, list_empty(&tr->tr_databuf));
295 gfs2_assert_warn(sdp, list_empty(&tr->tr_buf));