Message ID | ea11fea30902020204t7a2db3a7tbf3f0b8d22b20cce@mail.gmail.com |
---|---|
State | Not Applicable, archived |
Headers | show |
On Mon 02-02-09 15:34:27, Manish Katiyar wrote: > Hi Jan, > > This is in continuation with the previous patch > (http://patchwork.ozlabs.org/patch/20275/) . We also need to set the > buffer as unmapped before reading the next block. I don't think quota > files can have holes, but atleast for correctness, otherwise once we > have read a block, tmp_bh is always mapped even for holes. > > > Signed-off-by: Manish Katiyar <mkatiyar@gmail.com> > --- > fs/ext2/super.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/fs/ext2/super.c b/fs/ext2/super.c > index da8bdea..b4e7633 100644 > --- a/fs/ext2/super.c > +++ b/fs/ext2/super.c > @@ -1328,6 +1328,7 @@ static ssize_t ext2_quota_read(struct > super_block *sb, int type, char *data, > sb->s_blocksize - offset : toread; > > tmp_bh.b_state = 0; > + clear_buffer_mapped(&tmp_bh); I don't get this. When b_state is 0, then in particuler the buffer is not mapped. So why clear the mapped bit explicitely? > err = ext2_get_block(inode, blk, &tmp_bh, 0); > if (err < 0) > return err; Honza
On Mon, Feb 2, 2009 at 4:04 PM, Jan Kara <jack@suse.cz> wrote: > On Mon 02-02-09 15:34:27, Manish Katiyar wrote: >> Hi Jan, >> >> This is in continuation with the previous patch >> (http://patchwork.ozlabs.org/patch/20275/) . We also need to set the >> buffer as unmapped before reading the next block. I don't think quota >> files can have holes, but atleast for correctness, otherwise once we >> have read a block, tmp_bh is always mapped even for holes. >> >> >> Signed-off-by: Manish Katiyar <mkatiyar@gmail.com> >> --- >> fs/ext2/super.c | 1 + >> 1 files changed, 1 insertions(+), 0 deletions(-) >> >> diff --git a/fs/ext2/super.c b/fs/ext2/super.c >> index da8bdea..b4e7633 100644 >> --- a/fs/ext2/super.c >> +++ b/fs/ext2/super.c >> @@ -1328,6 +1328,7 @@ static ssize_t ext2_quota_read(struct >> super_block *sb, int type, char *data, >> sb->s_blocksize - offset : toread; >> >> tmp_bh.b_state = 0; >> + clear_buffer_mapped(&tmp_bh); > I don't get this. When b_state is 0, then in particuler the buffer is not > mapped. So why clear the mapped bit explicitely? Sorry for the noise.......my bad :-( !! Thanks - Manish > >> err = ext2_get_block(inode, blk, &tmp_bh, 0); >> if (err < 0) >> return err; > > Honza > -- > Jan Kara <jack@suse.cz> > SUSE Labs, CR > -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/fs/ext2/super.c b/fs/ext2/super.c index da8bdea..b4e7633 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -1328,6 +1328,7 @@ static ssize_t ext2_quota_read(struct super_block *sb, int type, char *data, sb->s_blocksize - offset : toread; tmp_bh.b_state = 0; + clear_buffer_mapped(&tmp_bh); err = ext2_get_block(inode, blk, &tmp_bh, 0); if (err < 0)
Hi Jan, This is in continuation with the previous patch (http://patchwork.ozlabs.org/patch/20275/) . We also need to set the buffer as unmapped before reading the next block. I don't think quota files can have holes, but atleast for correctness, otherwise once we have read a block, tmp_bh is always mapped even for holes. Signed-off-by: Manish Katiyar <mkatiyar@gmail.com> --- fs/ext2/super.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) return err;