diff options
author | Theodore Ts'o <tytso@mit.edu> | 2010-07-27 19:56:05 +0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2010-07-27 19:56:05 +0400 |
commit | 47def82672b3ba4e7c5e9a4fe48a556f8684d0d6 (patch) | |
tree | a0cfdaca8be99980c09d2b38ff676834c85ab2c4 /include/linux/jbd2.h | |
parent | 40389687382bf0ae71458e7c0f828137a438a956 (diff) | |
download | linux-47def82672b3ba4e7c5e9a4fe48a556f8684d0d6.tar.xz |
jbd2: Remove __GFP_NOFAIL from jbd2 layer
__GFP_NOFAIL is going away, so add our own retry loop. Also add
jbd2__journal_start() and jbd2__journal_restart() which take a gfp
mask, so that file systems can optionally (re)start transaction
handles using GFP_KERNEL. If they do this, then they need to be
prepared to handle receiving an PTR_ERR(-ENOMEM) error, and be ready
to reflect that error up to userspace.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'include/linux/jbd2.h')
-rw-r--r-- | include/linux/jbd2.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index a4d2e9f7088a..5a72bc75b273 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h @@ -1081,7 +1081,9 @@ static inline handle_t *journal_current_handle(void) */ extern handle_t *jbd2_journal_start(journal_t *, int nblocks); -extern int jbd2_journal_restart (handle_t *, int nblocks); +extern handle_t *jbd2__journal_start(journal_t *, int nblocks, int gfp_mask); +extern int jbd2_journal_restart(handle_t *, int nblocks); +extern int jbd2__journal_restart(handle_t *, int nblocks, int gfp_mask); extern int jbd2_journal_extend (handle_t *, int nblocks); extern int jbd2_journal_get_write_access(handle_t *, struct buffer_head *); extern int jbd2_journal_get_create_access (handle_t *, struct buffer_head *); |