On Sun, 24 Mar 2013, Theodore Ts'o wrote: > Date: Sun, 24 Mar 2013 20:06:54 -0400 > From: Theodore Ts'o <tytso@xxxxxxx> > To: Ext4 Developers List <linux-ext4@xxxxxxxxxxxxxxx> > Cc: Theodore Ts'o <tytso@xxxxxxx> > Subject: [PATCH 7/7] ext4: add might_sleep() annotations Looks good and useful. Thanks! Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> > > Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx> > --- > fs/ext4/ext4_jbd2.c | 6 ++++++ > fs/ext4/mballoc.c | 4 ++++ > 2 files changed, 10 insertions(+) > > diff --git a/fs/ext4/ext4_jbd2.c b/fs/ext4/ext4_jbd2.c > index 7058975..0e1dc9e 100644 > --- a/fs/ext4/ext4_jbd2.c > +++ b/fs/ext4/ext4_jbd2.c > @@ -43,6 +43,8 @@ handle_t *__ext4_journal_start_sb(struct super_block *sb, unsigned int line, > { > journal_t *journal; > > + might_sleep(); > + > trace_ext4_journal_start(sb, nblocks, _RET_IP_); > if (sb->s_flags & MS_RDONLY) > return ERR_PTR(-EROFS); > @@ -113,6 +115,8 @@ int __ext4_journal_get_write_access(const char *where, unsigned int line, > { > int err = 0; > > + might_sleep(); > + > if (ext4_handle_valid(handle)) { > err = jbd2_journal_get_write_access(handle, bh); > if (err) > @@ -209,6 +213,8 @@ int __ext4_handle_dirty_metadata(const char *where, unsigned int line, > { > int err = 0; > > + might_sleep(); > + > if (ext4_handle_valid(handle)) { > err = jbd2_journal_dirty_metadata(handle, bh); > if (err) { > diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c > index ee6614b..36c82a3 100644 > --- a/fs/ext4/mballoc.c > +++ b/fs/ext4/mballoc.c > @@ -1011,6 +1011,7 @@ int ext4_mb_init_group(struct super_block *sb, ext4_group_t group) > struct page *page; > int ret = 0; > > + might_sleep(); > mb_debug(1, "init group %u\n", group); > this_grp = ext4_get_group_info(sb, group); > /* > @@ -1082,6 +1083,7 @@ ext4_mb_load_buddy(struct super_block *sb, ext4_group_t group, > struct ext4_sb_info *sbi = EXT4_SB(sb); > struct inode *inode = sbi->s_buddy_cache; > > + might_sleep(); > mb_debug(1, "load group %u\n", group); > > blocks_per_page = PAGE_CACHE_SIZE / sb->s_blocksize; > @@ -4217,6 +4219,7 @@ ext4_fsblk_t ext4_mb_new_blocks(handle_t *handle, > unsigned int inquota = 0; > unsigned int reserv_clstrs = 0; > > + might_sleep(); > sb = ar->inode->i_sb; > sbi = EXT4_SB(sb); > > @@ -4470,6 +4473,7 @@ void ext4_free_blocks(handle_t *handle, struct inode *inode, > int err = 0; > int ret; > > + might_sleep(); > if (bh) { > if (block) > BUG_ON(block != bh->b_blocknr); > -- 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