On Thu 22-06-17 16:35:04, Jeff Mahoney wrote: > Most extended attributes will fit in a single block. More importantly, > we drop the reference to the inode while holding the transaction open > so the preallocated blocks aren't released. As a result, the inode > may be evicted before it's removed from the transaction's prealloc list > which can cause memory corruption. > > Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Thanks added to my tree. Honza > --- > fs/reiserfs/bitmap.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- a/fs/reiserfs/bitmap.c > +++ b/fs/reiserfs/bitmap.c > @@ -980,7 +980,7 @@ static int determine_prealloc_size(reise > hint->prealloc_size = 0; > > if (!hint->formatted_node && hint->preallocate) { > - if (S_ISREG(hint->inode->i_mode) > + if (S_ISREG(hint->inode->i_mode) && !IS_PRIVATE(hint->inode) > && hint->inode->i_size >= > REISERFS_SB(hint->th->t_super)->s_alloc_options. > preallocmin * hint->inode->i_sb->s_blocksize) > > -- > Jeff Mahoney > SUSE Labs > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html