ext4_handle_release_buffer() is an API, which is not being used properly. This is not so bad considering that it calls jbd2_journal_release_buffer(), which does nothing, but the snapshots implementation of this API does something. ext4_jbd2.h defines 2 identical wrapper functions: ext4_journal_release_buffer() and ext4_handle_release_buffer(). The former has no callers, so it was removed. There are 2 users of the API: ext4_new_inode() calls ext4_handle_release_buffer() and ext4_xattr_block_set() calls jbd2_journal_release_buffer() directly. The latter was chagned to call the wrapper API. Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxxxxx> --- fs/ext4/ext4_jbd2.h | 7 ------- fs/ext4/xattr.c | 2 +- 2 files changed, 1 insertions(+), 8 deletions(-) diff --git a/fs/ext4/ext4_jbd2.h b/fs/ext4/ext4_jbd2.h index d8b992e..e25e99b 100644 --- a/fs/ext4/ext4_jbd2.h +++ b/fs/ext4/ext4_jbd2.h @@ -202,13 +202,6 @@ static inline int ext4_handle_has_enough_credits(handle_t *handle, int needed) return 1; } -static inline void ext4_journal_release_buffer(handle_t *handle, - struct buffer_head *bh) -{ - if (ext4_handle_valid(handle)) - jbd2_journal_release_buffer(handle, bh); -} - static inline handle_t *ext4_journal_start(struct inode *inode, int nblocks) { return ext4_journal_start_sb(inode->i_sb, nblocks); diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index f4c03af..b545ca1 100644 --- a/fs/ext4/xattr.c +++ b/fs/ext4/xattr.c @@ -735,7 +735,7 @@ ext4_xattr_block_set(handle_t *handle, struct inode *inode, int offset = (char *)s->here - bs->bh->b_data; unlock_buffer(bs->bh); - jbd2_journal_release_buffer(handle, bs->bh); + ext4_handle_release_buffer(handle, bs->bh); if (ce) { mb_cache_entry_release(ce); ce = NULL; -- 1.7.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html