lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 22 Dec 2010 13:14:51 +0100
From:	"Bjoern Slotkowski" <bjoern.slotkowski@...-berlin.de>
To:	<linux-ext4@...r.kernel.org>
Subject: Questions concerning ext2 filesystem:  ext2_statfs

Hello all,

hope I am right here.

We have some questions concerning the ext2 filesystem:

When looking for free blocks and inodes in function ext2_statfs the
overhead, free inodes and free blocks are newly calculated by iterating
through all
inodes and blocks and look if they are free or not.

On the other hand free inodes and free blocks are held in the
structure-members s_freeinode_count
and s_free_block_count of the superblock info.


Now my questions:

Why is the overhead calculated ?
Isn't it is constant since filling the superblock ?
Wy are free blocks and free inodes are calculated every time,
when they are held in s_freeinode_count and s_free_block_count ?

Isn't it is possible to use these variables directly ?

By the way: s_freeinode_count is not incremented in function
ext2_release_inode.



The background for these questions is as it always is:
We have a problem using 320 GB harddrives instead of 80 GB harddrives with
ext2.

Before writing to the harddrive our software looks for enough space
to make sure the data can be stored safely.
This leads to heavy performance problems when using larger disks.

We can reduce the check for enough space to every 10th or 100th write
operation,
but at some point our software has to check and this may lead to a los of
data
because the system is busy calculating the free inodes and blocks.

Our solution will be to create a patch using the structure members
s_freeinode_count, s_free_block_count
and create a new member s_overhead_count and use them directly.
s_overhead_count is calculated once when filling the superblock.

Is this a good solution or are there circumstances which can lead to a
misbehavior ?


Thanks in advance,


Björn Slotkowski

--
imc Messsysteme GmbH
Bereich Entwicklung / Dept. Development
Voltastraße 5
D-13355 Berlin
Germany
Tel:   +49 30 46 70 90 23
Fax:   +49 30 46 31 57 6
mailto:Bjoern.Slotkowski@...-berlin.de
Homepage: http://www.imc-berlin.de

Sitz der Gesellschaft : Berlin
Handelsregister       : Berlin-Charlottenburg HRB 28778
Geschäftsführer       : Dr.-Ing. Dietmar Sprenger



--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ