Good place to drop preallocation on directories

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

 



  Hi!

  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 :).

									Honza
-- 
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
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