All of lore.kernel.org
 help / color / mirror / Atom feed
From: Akira Fujita <a-fujita@rs.jp.nec.com>
To: "Steinar H. Gunderson" <sgunderson@bigfoot.com>
Cc: Kazuya Mio <k-mio@sx.jp.nec.com>, linux-ext4@vger.kernel.org
Subject: Re: Segmentation fault in e4defrag -c
Date: Mon, 29 Jun 2009 15:03:21 +0900	[thread overview]
Message-ID: <4A485929.7010403@rs.jp.nec.com> (raw)
In-Reply-To: <20090626093816.GA3175@uio.no>

Hi,

Steinar H. Gunderson wrote:
>> 3. stat "/home/sesse/Mika - Life In Cartoon Motion/11 - Ring Ring (Bonus Track).mp3"
> 
> pannekake:~# stat "/home/sesse/Mika - Life In Cartoon Motion/11 - Ring Ring (Bonus Track).mp3" 
>   File: `/home/sesse/Mika - Life In Cartoon Motion/11 - Ring Ring (Bonus Track).mp3'
>   Size: 4050385   	Blocks: 0          IO Block: 4096   regular file
> Device: fd12h/64786d	Inode: 688755      Links: 1
> Access: (0644/-rw-r--r--)  Uid: ( 1000/   sesse)   Gid: ( 1000/   sesse)
> Access: 2009-05-30 03:08:38.724454316 +0200
> Modify: 2008-09-01 20:38:26.135589449 +0200
> Change: 2008-09-01 20:38:26.135589449 +0200

Thank you for information.

File size is "4050385" but Blocks is "0"
probably means blocks are not allocated yet or file is *corrupted*.
Is your mp3 file available?

Anyway, with this patch, 0 blocks file is skipped,
therefore the segmentation fault you had will not happen.

Thanks and Regards,
Akira Fujita

Signed-off-by Akira Fujita <a-fujita@rs.jp.nec.com>
---
 online-defrag-cmd |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
--- online-defrag-cmd	2009-06-29 13:07:16.000000000 +0900
+++ online-defrag-cmd-20090629	2009-06-29 13:07:41.000000000 +0900
@@ -1303,6 +1303,15 @@ int file_statistic(const char *file, con
 		return 0;
 	}

+	/* Has no blocks */
+	if (buf->st_blocks == 0) {
+		if (mode_flag & DETAIL) {
+			PRINT_FILE_NAME(file);
+			STATISTIC_ERR_MSG("File has no blocks");
+		}
+		return 0;
+	}
+
 	fd = open64(file, O_RDONLY);
 	if (fd < 0) {
 		if (mode_flag & DETAIL) {
@@ -1624,6 +1633,15 @@ int file_defrag(const char *file, const
 		return 0;
 	}

+	/* Has no blocks */
+	if (buf->st_blocks == 0) {
+		if (mode_flag & DETAIL) {
+			PRINT_FILE_NAME(file);
+			STATISTIC_ERR_MSG("File has no blocks");
+		}
+		return 0;
+	}
+
 	fd = open64(file, O_RDONLY);
 	if (fd < 0) {
 		if (mode_flag & DETAIL) {

  reply	other threads:[~2009-06-29  6:03 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-25 10:55 Segmentation fault in e4defrag -c Steinar H. Gunderson
2009-06-26  8:32 ` Kazuya Mio
2009-06-26  9:38   ` Steinar H. Gunderson
2009-06-29  6:03     ` Akira Fujita [this message]
2009-06-29 21:49       ` Andreas Dilger
2009-06-30 23:43         ` Akira Fujita

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=4A485929.7010403@rs.jp.nec.com \
    --to=a-fujita@rs.jp.nec.com \
    --cc=k-mio@sx.jp.nec.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=sgunderson@bigfoot.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.