Provided by: linux-doc-2.6.15_2.6.15-23.39_all bug

NAME

       journal_get_undo_access - Notify intent to modify metadata with

SYNOPSIS

       int journal_get_undo_access  (handle_t * handle,
                                      struct buffer_head * bh);

ARGUMENTS

       handle transaction

       bh     buffer to undo

DESCRIPTION

       Sometimes there is a need to distinguish  between  metadata  which  has
       been  committed  to  disk  and that which has not. The ext3fs code uses
       this for freeing and allocating space, we have to make sure that we  do
       not  reuse freed space until the deallocation has been committed, since
       if we overwrote that space we would make the  delete  un-rewindable  in
       case of a crash.

       To  deal  with that, journal_get_undo_access requests write access to a
       buffer for parts of non-rewindable operations such as delete operations
       on  the  bitmaps.  The journaling code must keep a copy of the buffer’s
       contents prior to the undo_access call until such time as we know  that
       the buffer has definitely been committed to disk.

       We  never need to know which transaction the committed data is part of,
       buffers touched here are guaranteed to be dirtied later and so will  be
       committed  to  a  new  transaction in due course, at which point we can
       discard the old committed data pointer.

       Returns error number or 0 on success.

DESCRIPTION

       Sometimes there is a need to distinguish  between  metadata  which  has
       been  committed  to  disk  and that which has not. The ext3fs code uses
       this for freeing and allocating space, we have to make sure that we  do
       not  reuse freed space until the deallocation has been committed, since
       if we overwrote that space we would make the  delete  un-rewindable  in
       case of a crash.

       To  deal  with that, journal_get_undo_access requests write access to a
       buffer for parts of non-rewindable operations such as delete operations
       on  the  bitmaps.  The journaling code must keep a copy of the buffer’s
       contents prior to the undo_access call until such time as we know  that
       the buffer has definitely been committed to disk.

       We  never need to know which transaction the committed data is part of,
       buffers touched here are guaranteed to be dirtied later and so will  be
       committed  to  a  new  transaction in due course, at which point we can
       discard the old committed data pointer.

       Returns error number or 0 on success.

AUTHORS

       Roger  Gammans   <rgammans@computer-surgery.co.uk>,   Stephen   Tweedie
       <sct@redhat.com>.