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
| ||
|
Date: Thu, 3 Dec 2015 13:14:37 +0530 From: lokesh jaliminche <lokesh.jaliminche@...il.com> To: linux-ext4@...r.kernel.org Subject: Regarding random grouop search start for allocation of inode. hello folks, I am new to ext4 code. I was going through the ext4-source for allocation of inode. There is one thing that I did not understand while selection of groups for inode allocation . I came across this code snippet which is part of find_group_orlov function. question is, why group search start is random ? Code snippet: ========== ···if (qstr) { »·······»·······»·······hinfo.hash_version = LDISKFS_DX_HASH_HALF_MD4; »·······»·······»·······hinfo.seed = sbi->s_hash_seed; »·······»·······»·······ldiskfsfs_dirhash(qstr->name, qstr->len, &hinfo); »·······»·······»·······grp = hinfo.hash; »·······»·······} else »·······»·······»·······get_random_bytes(&grp, sizeof(grp)); »·······»·······parent_group = (unsigned)grp % ngroups; »·······»·······for (i = 0; i < ngroups; i++) { »·······»·······»·······g = (parent_group + i) % ngroups; »·······»·······»·······get_orlov_stats(sb, g, flex_size, &stats); »·······»·······»·······if (!stats.free_inodes) »·······»·······»·······»·······continue; »·······»·······»·······if (stats.used_dirs >= best_ndir) »·······»·······»·······»·······continue; »·······»·······»·······if (stats.free_inodes < avefreei) »·······»·······»·······»·······continue; »·······»·······»·······if (stats.free_blocks < avefreeb) »·······»·······»·······»·······continue; »·······»·······»·······grp = g; »·······»·······»·······ret = 0; »·······»·······»·······best_ndir = stats.used_dirs; »·······»·······} Thanks & Regards, Lokesh
Powered by blists - more mailing lists