From: Ted Ts'o <tytso@mit.edu>
To: Lukas Czerner <lczerner@redhat.com>
Cc: linux-ext4@vger.kernel.org, rwheeler@redhat.com,
sandeen@redhat.com, adilger@dilger.ca,
Dmitry Monakhov <dmonakhov@openvz.org>
Subject: Re: [PATCH 3/4] ext4: Add batched discard support for ext4
Date: Mon, 25 Oct 2010 15:08:41 -0400 [thread overview]
Message-ID: <20101025190840.GI16981@thunk.org> (raw)
In-Reply-To: <20101025185010.GH16981@thunk.org>
The following diff (against this patch) allows the ext4 tree to build
on 32-bit x86. I'm still not entirely convinced the right thing
happens when start+len goes beyond the end of the file system....
- Ted
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 8cbef43..e3bcc06 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -4761,7 +4761,6 @@ ext4_grpblk_t ext4_trim_all_free(struct super_block *sb, struct ext4_buddy *e4b,
ext4_lock_group(sb, group);
while (start < max) {
-
start = mb_find_next_zero_bit(bitmap, max, start);
if (start >= max)
break;
@@ -4816,10 +4815,9 @@ ext4_grpblk_t ext4_trim_all_free(struct super_block *sb, struct ext4_buddy *e4b,
int ext4_trim_fs(struct super_block *sb, struct fstrim_range *range)
{
struct ext4_buddy e4b;
- ext4_fsblk_t first_group, last_group;
+ ext4_group_t first_group, last_group;
ext4_group_t group, ngroups = ext4_get_groups_count(sb);
ext4_grpblk_t cnt = 0, first_block, last_block;
- struct ext4_super_block *es = EXT4_SB(sb)->s_es;
uint64_t start, len, minlen, trimmed;
int ret = 0;
@@ -4832,21 +4830,17 @@ int ext4_trim_fs(struct super_block *sb, struct fstrim_range *range)
return -EINVAL;
/* Determine first and last group to examine based on start and len */
- first_group = (start - le32_to_cpu(es->s_first_data_block)) /
- EXT4_BLOCKS_PER_GROUP(sb);
- last_group = (start + len - le32_to_cpu(es->s_first_data_block)) /
- EXT4_BLOCKS_PER_GROUP(sb);
+ ext4_get_group_no_and_offset(sb, (ext4_fsblk_t) start,
+ &first_group, &first_block);
+ ext4_get_group_no_and_offset(sb, (ext4_fsblk_t) (start + len),
+ &last_group, &last_block);
last_group = (last_group > ngroups - 1) ? ngroups - 1 : last_group;
+ last_block = EXT4_BLOCKS_PER_GROUP(sb);
if (first_group > last_group)
return -EINVAL;
- first_block = (start - le32_to_cpu(es->s_first_data_block)) %
- EXT4_BLOCKS_PER_GROUP(sb);
- last_block = EXT4_BLOCKS_PER_GROUP(sb);
-
for (group = first_group; group <= last_group; group++) {
next prev parent reply other threads:[~2010-10-25 19:08 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-27 14:09 [PATCH 0/4 v. 9] Ext3/Ext4 Batched discard support Lukas Czerner
2010-09-27 14:09 ` [PATCH 1/4] ext4: Use return value from sb_issue_discard() Lukas Czerner
2010-09-27 14:09 ` [PATCH 2/4] Add ioctl FITRIM Lukas Czerner
2010-09-27 14:09 ` [PATCH 3/4] ext4: Add batched discard support for ext4 Lukas Czerner
2010-10-25 18:50 ` Ted Ts'o
2010-10-25 19:08 ` Ted Ts'o [this message]
2010-10-26 12:43 ` Lukas Czerner
2010-10-26 14:20 ` Ted Ts'o
2010-10-26 14:36 ` Lukas Czerner
2010-09-27 14:10 ` [PATCH 4/4] ext3: Add batched discard support for ext3 Lukas Czerner
2010-09-27 14:11 ` [PATCH 0/4 v. 9] Ext3/Ext4 Batched discard support - fstrim Lukas Czerner
2010-10-11 17:02 ` [PATCH 0/4 v. 9] Ext3/Ext4 Batched discard support Lukas Czerner
2010-10-25 14:57 ` Ted Ts'o
2010-10-25 16:06 ` Fstrim tool Lukas Czerner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101025190840.GI16981@thunk.org \
--to=tytso@mit.edu \
--cc=adilger@dilger.ca \
--cc=dmonakhov@openvz.org \
--cc=lczerner@redhat.com \
--cc=linux-ext4@vger.kernel.org \
--cc=rwheeler@redhat.com \
--cc=sandeen@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.