diff mbox

ext2: Mark the buffer as unmapped before reading the next quota block

Message ID ea11fea30902020204t7a2db3a7tbf3f0b8d22b20cce@mail.gmail.com
State Not Applicable, archived
Headers show

Commit Message

Manish Katiyar Feb. 2, 2009, 10:04 a.m. UTC
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;

Comments

Jan Kara Feb. 2, 2009, 10:34 a.m. UTC | #1
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
Manish Katiyar Feb. 2, 2009, 11:05 a.m. UTC | #2
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 mbox

Patch

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)