[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: reading an empty directory after reboot is very slow



On Tue, 14 Apr 2015 10:12:28 +0300
Reco <recoverym4n@gmail.com> wrote:

>  Hi.
> 
> On Tue, Apr 14, 2015 at 08:58:20AM +0200, Petter Adsen wrote:
> > On Mon, 13 Apr 2015 15:41:03 +0200
> > Vincent Lefevre <vincent@vinc17.net> wrote:
> > 
> > > On 2015-04-13 14:45:25 +0200, Loïc Grenié wrote:
> > > > 2015-04-13 14:39 GMT+02:00 Vincent Lefevre <vincent@vinc17.net>:
> > > > > The problem is that this operation is (always?) very slow:
> > > > > something like 100 seconds (1 minute and 40 seconds). It has
> > > > > been reproducible for several months. The logs show nothing
> > > > > during this operation.
> > > > >
> > > > > Any idea?
> > > > 
> > > >     Maybe the directory is very large (even though its empty).
> > > > Try
> > > > 
> > > > ls -ld tmp.
> > > > 
> > > >  and see if the file "tmp" is large.
> > > 
> > > Thanks! I didn't know that (I thought that the file system would
> > > automatically "optimize" directories when files are removed, so
> > > I've never looked closely at their size). Indeed:
> > > 
> > > ypig:~/eftests> ls -ld tmp
> > > drwxr-xr-x 2 vlefevre vlefevre 29655040 2015-04-13 15:25:55 tmp/
> > 
> > Can someone please enlighten me as to why the entry for this
> > directory is so large, even though it is empty? Since it's
> > apparently obvious to everyone else, I would very much like to
> > know :)
> 
> A case study:
> 
> $ mkdir tmp
> $ du -sxh tmp
> 4.0K    tmp
> $ for x in {1..100000}; do touch tmp/$x; done
> $ du -sxh tmp
> 2.1M    tmp
> $ find tmp -type f | xargs rm
> $ du -sxh tmp
> 2.1M    tmp
> $ ls tmp | wc -l
> 0
> 
> Removing files from the directory does not change directory's inode
> size. If using ext4, at least.

Interesting. Also good to know. Thank you :)

But if you create new files in that directory after deleting them, I
expect the inodes get reallocated?

Is this specific to Linux/ext4?

Petter

-- 
"I'm ionized"
"Are you sure?"
"I'm positive."

Attachment: pgpb5ljfr39p6.pgp
Description: OpenPGP digital signature


Reply to: