[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A485929.7010403@rs.jp.nec.com>
Date: Mon, 29 Jun 2009 15:03:21 +0900
From: Akira Fujita <a-fujita@...jp.nec.com>
To: "Steinar H. Gunderson" <sgunderson@...foot.com>
CC: Kazuya Mio <k-mio@...jp.nec.com>, linux-ext4@...r.kernel.org
Subject: Re: Segmentation fault in e4defrag -c
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@...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) {
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists