From: Ravi Pinjala <ravi@p-static.net>
To: Eric Sandeen <sandeen@redhat.com>
Cc: linux-ext4@vger.kernel.org
Subject: Re: e4defrag doesn't work on root filesystem
Date: Tue, 08 Sep 2009 08:42:13 -0500 [thread overview]
Message-ID: <4AA65F35.9090707@p-static.net> (raw)
In-Reply-To: <4AA5D5C8.2010304@redhat.com>
Eric Sandeen wrote:
> Ravi Pinjala wrote:
>> Hi,
>>
>> I'm playing with e4defrag from e2frprogs git, and I've run into a bug.
>> When I try to defragment files on my root filesystem, it refuses to
>> acknowledge that the filesystem is ext4. I believe the problem is that
>> it checks the filesystem type by parsing /etc/mtab, but the root
>> filesystem shows up there like this:
>>
>> rootfs on / type rootfs (rw)
>> /dev/root on / type ext4 (rw,noatime,barrier=1,data=ordered)
>>
>> so it gets confused by the bogus first entry. It works just fine on
>> other ext4 filesystems I have.
>>
>> (If this is the wrong mailing list, I apologize; I couldn't find one for
>> e2fsprogs, so I thought this was the next best thing.)
>>
>> --Ravi
>> --
>>
> This list is a fine place to report it, thanks.
>
> In is_ext4() it does a statfs on the file, and checks that the magic is
> EXT4,
> but then that's the same as ext2 and ext3 unfortunately ....
>
> It later does getmntent for the actual fs type, but fails, as you said.
>
> Does this fix it for you?
Yeah, that works great. Thanks!
--Ravi
>
> =========
>
> Skip "rootfs" entry when checking for ext4 filesystem.
>
> Signed-off-by: Eric Sandeen <sandeen@redhat.com>
> ---
>
> diff --git a/misc/e4defrag.c b/misc/e4defrag.c
> index 82e3868..0d04df9 100644
> --- a/misc/e4defrag.c
> +++ b/misc/e4defrag.c
> @@ -430,6 +430,8 @@ static int is_ext4(const char *file)
> }
>
> while ((mnt = getmntent(fp)) != NULL) {
> + if (mnt->mnt_fsname[0] != '/')
> + continue;
> len = strlen(mnt->mnt_dir);
> ret = memcmp(file_path, mnt->mnt_dir, len);
> if (ret != 0)
>
>
> --
> 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
>
prev parent reply other threads:[~2009-09-08 13:42 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-07 15:48 e4defrag doesn't work on root filesystem Ravi Pinjala
2009-09-08 3:55 ` Eric Sandeen
2009-09-08 13:42 ` Ravi Pinjala [this message]
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=4AA65F35.9090707@p-static.net \
--to=ravi@p-static.net \
--cc=linux-ext4@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).