John Nelson | 2 Apr 2008 00:46
Picon

allocation

does ext3 allocate space for files anywhere on the disk where there is 
free space or does it try to keep them all in one area like how ntfs or 
fat do?
Peter Teoh | 2 Apr 2008 07:18
Picon
Gravatar

Re: allocation

John Nelson wrote:
> does ext3 allocate space for files anywhere on the disk where there is 
> free space or does it try to keep them all in one area like how ntfs 
> or fat do?
>
> _______________________________________________
> Ext3-users mailing list
> Ext3-users <at> redhat.com
> https://www.redhat.com/mailman/listinfo/ext3-users
>
>
In fs/ext3/ialloc.c:

/*
 * There are two policies for allocating an inode.  If the new inode is
 * a directory, then a forward search is made for a block group with both
 * free space and a low directory-to-inode ratio; if that fails, then of
 * the groups with above-average free space, that group with the fewest
 * directories already is chosen.
 *
 * For other inodes, search forward from the parent directory\'s block
 * group to find a free inode.
 */
static int find_group_dir(struct super_block *sb, struct inode *parent)
{
        int ngroups = EXT3_SB(sb)->s_groups_count;
        unsigned int freei, avefreei;
        struct ext3_group_desc *desc, *best_desc = NULL;
        int group, best_group = -1;

(Continue reading)

Ling C. Ho | 3 Apr 2008 18:21
Favicon

Shrink ext3 filesystem , running out of inode questions

Hi,

I have an ext3  file system created with -T largefile4 option. Now it is 
running out of inode but it's only about 10% full.

- Is there a way now to increase the number of inode without making a 
new file system?

- If not, I am thinking about shrinking the file system, and then use 
the free up space to create a new file system with more inodes, and move 
the data over. Since I am already running out of inode, would I still be 
able to shrink the file system?

Thanks,
...
ling
Ross Boylan | 4 Apr 2008 18:24
Picon

Re: with dir_index ls is slower than without?


On Mon, 2008-03-31 at 13:18 +0200, Sebastian Reitenbach wrote:
> Hi Nicolas,
> 
> Nicolas KOWALSKI <niko <at> petole.dyndns.org> wrote: 
> > "Sebastian Reitenbach" <sebastia <at> l00-bugdead-prods.de> writes:
> > 
> > > installhost2:~ # time ls -la /mnt/index/ | wc -l
> > >  500005
> > >  
> > >  real 2m41.015s
> > >  user 0m4.568s
> > >  sys 0m6.520s
> > >  
> > >  
> > >  installhost2:~ # time ls -la /mnt/noindex/ | wc -l
> > >  500005
> > >  
> > >  real 0m10.792s
> > >  user 0m3.172s
> > >  sys 0m6.000s
> > >
> > > I expected the dir_index should speedup this a little bit?
> > > I assume I'm still missing sth?
> > 
> > I think the point of dir_index is "only" to quickly find in a large
> > directory a file when you _already_ have its name.
> > 
> > The performance of listing is not its purpose, and as you noted it,
> > even makes performance worse.
(Continue reading)

Carlo Wood | 7 Apr 2008 21:54
Gravatar

Re: [ext3grep] Re: Error compiling on Cent OS 4

On Mon, Apr 07, 2008 at 12:11:18PM -0300, Ranieri Oliveira wrote:
> /usr/include/ext2fs/bitops.h:440: error: invalid conversion from `unsigned
> char*' to `char*'

What is on line 440?

Please keep ext3-users <at> redhat.com in the CC.

--

-- 
Carlo Wood <carlo <at> alinoe.com>
Carlo Wood | 8 Apr 2008 01:00
Gravatar

Re: [ext3grep] Re: Error compiling on Cent OS 4

On Mon, Apr 07, 2008 at 05:29:46PM -0300, Ranieri Oliveira wrote:
>     437 _INLINE_ int ext2fs_find_first_bit_set(void * addr, unsigned size)
>     439 {
>     440         char    *cp = (unsigned char *) addr;
>     441         int     res = 0, d0;
>     442
>     443         if (!size)
>     444                 return 0;
>     445
>     446         while ((size > res) && (*cp == 0)) {
>     447                 cp++;
>     448                 res += 8;
>     449         }
>     450         d0 = ffs(*cp);
>     451         if (d0 == 0)
>     452                 return size;
>     453
>     454         return res + d0 - 1;
>     455 }

That is an error in ext2progs.
You can workaround the problem by changing

    char    *cp = (unsigned char *) addr;

into

    char    *cp = (char *) addr;

I'd think that better is to upgrade your ext2progs
(Continue reading)

Ranieri Oliveira | 7 Apr 2008 22:29
Picon

Re: [ext3grep] Re: Error compiling on Cent OS 4

    437 _INLINE_ int ext2fs_find_first_bit_set(void * addr, unsigned size)
    439 {
    440         char    *cp = (unsigned char *) addr;
    441         int     res = 0, d0;
    442
    443         if (!size)
    444                 return 0;
    445
    446         while ((size > res) && (*cp == 0)) {
    447                 cp++;
    448                 res += 8;
    449         }
    450         d0 = ffs(*cp);
    451         if (d0 == 0)
    452                 return size;
    453
    454         return res + d0 - 1;
    455 }


On Mon, Apr 7, 2008 at 4:54 PM, Carlo Wood <carlo <at> alinoe.com> wrote:

On Mon, Apr 07, 2008 at 12:11:18PM -0300, Ranieri Oliveira wrote:
> /usr/include/ext2fs/bitops.h:440: error: invalid conversion from `unsigned
> char*' to `char*'

What is on line 440?

Please keep ext3-users <at> redhat.com in the CC.

--
Carlo Wood <carlo <at> alinoe.com>

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to ext3grep <at> googlegroups.com
To unsubscribe from this group, send email to ext3grep-unsubscribe <at> googlegroups.com
For more options, visit this group at http://groups.google.com/group/ext3grep?hl=en
-~----------~----~----~----~------~----~------~--~---


_______________________________________________
Ext3-users mailing list
Ext3-users <at> redhat.com
https://www.redhat.com/mailman/listinfo/ext3-users
Justin Hahn | 8 Apr 2008 23:15

Extremely long FSCK. (>24 hours)

Hello all,

I recently encountered a problem that I thought I should bring to the  
ext3 devs. I've seen some evidence of similar issues in the past, but  
it wasn't clear that anyone had experienced it at quite this scale.

The short summary is that I let 'e2fsck -C 0 -y -f' run for more than  
24 hours on a 4.25Tb filesystem before having to kill it. It had been  
stuck at "70.1%" in Pass 2 (checking directory structure) for about 10  
hours. e2fsck was using about 4.4Gb of RAM and was maxing out 1 CPU  
core (out of 8).

This filesystem is used for disk-to-disk backups with dirvish[1]  The  
volume was 4.25Gb large, and about 90% full. I was doing an fsck prior  
to running resize2fs, as required by said tool. (I ended up switching  
to ext2online, which worked fine.)

I suspect the large # of hard links and the large file system size are  
what did me in. Fortunately, my filesystem is clean for now. What I'm  
worried about is the day when it actually needs a proper fsck to  
correct problems. I have no idea how long the fsck would have taken  
had I not cancelled it. I fear it would have been more than 48hours.

Any suggestions (including undocumented command line options) I can  
try to accelerate this in the future would be welcome. As this system  
is for backups and is idle for about 12-16 hours a day, I can un-mount  
the volume and perform some (non-destructive!!) tests if there is  
interest. Unfortunately, I cannot provide remote access to the system  
for security reasons as this is our backup archive.

I'm using CentOS 4.5 as my distro.

'uname -a' reports:
Linux backups-00.dc-00.rbm.local 2.6.9-55.0.12.ELsmp #1 SMP Fri Nov 2  
12:38:56 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

The underlying hardware is a Dell PE 2950, with a PERC 5i RAID  
controller and 6x 1Tb SATA drives and 8Gb of RAM. I/O performance has  
been fine for my purposes, but I have not benchmarked, tuned or  
tweaked it in any way.

Thanks!

--jeh

[1] Dirvish is an rsync/hardlink based set of perl scripts -- see http://www.dirvish.org/ 
  for more details.
John Nelson | 11 Apr 2008 19:48
Picon

copying

hi

I got a very fragmented video file that is in about 3200 extents. I 
copied the file about 10 times to see if  can get a lower amount of 
extents. Some times i got 30 and sometimes 1000. My drive is 90% free. 
Does ext3 have trouble finding free space for files that are being copied?

The video file is about 600 Megabytes.
Balu manyam | 12 Apr 2008 03:42
Picon

Re: Extremely long FSCK. (>24 hours)

justin - you may wish to refer the email ...with sub:forced fsck (again?)  in the archives ....

HTH

Manyam



On Wed, Apr 9, 2008 at 2:45 AM, Justin Hahn <jhahn <at> rbmtechnologies.com> wrote:
Hello all,

I recently encountered a problem that I thought I should bring to the ext3 devs. I've seen some evidence of similar issues in the past, but it wasn't clear that anyone had experienced it at quite this scale.

The short summary is that I let 'e2fsck -C 0 -y -f' run for more than 24 hours on a 4.25Tb filesystem before having to kill it. It had been stuck at "70.1%" in Pass 2 (checking directory structure) for about 10 hours. e2fsck was using about 4.4Gb of RAM and was maxing out 1 CPU core (out of 8).

This filesystem is used for disk-to-disk backups with dirvish[1]  The volume was 4.25Gb large, and about 90% full. I was doing an fsck prior to running resize2fs, as required by said tool. (I ended up switching to ext2online, which worked fine.)

I suspect the large # of hard links and the large file system size are what did me in. Fortunately, my filesystem is clean for now. What I'm worried about is the day when it actually needs a proper fsck to correct problems. I have no idea how long the fsck would have taken had I not cancelled it. I fear it would have been more than 48hours.

Any suggestions (including undocumented command line options) I can try to accelerate this in the future would be welcome. As this system is for backups and is idle for about 12-16 hours a day, I can un-mount the volume and perform some (non-destructive!!) tests if there is interest. Unfortunately, I cannot provide remote access to the system for security reasons as this is our backup archive.

I'm using CentOS 4.5 as my distro.

'uname -a' reports:
Linux backups-00.dc-00.rbm.local 2.6.9-55.0.12.ELsmp #1 SMP Fri Nov 2 12:38:56 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

The underlying hardware is a Dell PE 2950, with a PERC 5i RAID controller and 6x 1Tb SATA drives and 8Gb of RAM. I/O performance has been fine for my purposes, but I have not benchmarked, tuned or tweaked it in any way.

Thanks!

--jeh

[1] Dirvish is an rsync/hardlink based set of perl scripts -- see http://www.dirvish.org/ for more details.

_______________________________________________
Ext3-users mailing list
Ext3-users <at> redhat.com
https://www.redhat.com/mailman/listinfo/ext3-users

_______________________________________________
Ext3-users mailing list
Ext3-users <at> redhat.com
https://www.redhat.com/mailman/listinfo/ext3-users

Gmane