carta
jbd2__journal_start(9)

jbd2__journal_start9

Obtain a new handle.

Arguments

journal

Journal to start transaction on.

nblocks

number of block buffer we might modify

rsv_blocks

-- undescribed --

gfp_mask

-- undescribed --

type

-- undescribed --

line_no

-- undescribed --

Overview

We make sure that the transaction can guarantee at least nblocks of modified buffers in the log. We block until the log can guarantee that much space. Additionally, if rsv_blocks > 0, we also create another handle with rsv_blocks reserved blocks in the journal. This handle is is stored in h_rsv_handle. It is not attached to any particular transaction and thus doesn't block transaction commit. If the caller uses this reserved handle, it has to set h_rsv_handle to NULL as otherwise jbd2_journal_stop on the parent handle will dispose the reserved one. Reserved handle has to be converted to a normal handle using jbd2_journal_start_reserved before it can be used.

Return a pointer to a newly allocated handle, or an ERR_PTR value on failure.

Authors

Roger Gammans <[email protected]>

Author.

Stephen Tweedie <[email protected]>

Author.

From linux-manual-4.9 4.9.228-1 in Debian 9 (Stretch). Parsed by carta from the page's man source.