On Tue, 26 Mar 2013, Lukáš Czerner wrote: > Date: Tue, 26 Mar 2013 10:48:00 +0100 (CET) > From: Lukáš Czerner <lczerner@xxxxxxxxxx> > To: Theodore Ts'o <tytso@xxxxxxx> > Cc: Ext4 Developers List <linux-ext4@xxxxxxxxxxxxxxx> > Subject: Re: [PATCH 7/7] ext4: add might_sleep() annotations > > 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> oops, wrong tag sorry :) I meant to say Reviewed-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 >