Re: Good place to drop preallocation on directories

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

 



On Wed, 19 November 2008 21:32:42 +0100, Jan Kara wrote:
> 
>   I have a problem in UDF so I thought I'll post it here if someone has a
> good idea how to solve it.
>   UDF does preallocation on directories (on files a well, but that is not a
> problem). Now this helps against directory fragmentation but there is an
> issue with it: When to drop this preallocation? Currently it is done in
> udf_clear_inode() which has two problems:
>   1) udf_clear_inode() is really called to late to do anything like freeing
>      space from inode and UDF has to play some nasty tricks (like
>      explicitely syncing inode, calling invalidate_inode_buffers() once
>      more) to make everything work. Using udf_drop_inode() would be much
>      better but that is called under i_lock so it's not really usable
>     (unless I'd drop i_lock in it but then it would even nastier).
>   2) When you create lots of directories, they use quite some additional
>      space for preallocation and there's not really a got way how to get rid
>      of preallocated blocks than dropping dcache or umount + mount the
>      filesystem.
> 
>   So after all I'm thinking whether directory preallocation is really worth
> the trouble. But before I go and rip it I'd like to check whether someone
> does not have some clever idea :).

Problem 2 has lru written all over, don't you think?  Problem 1 is
similar to something I'm debugging this very moment.  With some luck my
solution might work for you as well.

However, I don't see a big difference between files and directories yet.
Maybe because there shouldn't be, or maybe because I've been missing
something critical.  Could you elaborate on that?

Jörn

-- 
It's just what we asked for, but not what we want!
-- anonymous
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux