lkml.org 
[lkml]   [2001]   [Oct]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: RFC - tree quotas for Linux (2.4.12, ext2)
    On Wed, 24 Oct 2001, Jan Kara wrote:
    > > On Wed, 24 Oct 2001, Jan Kara wrote:
    > >
    > > > But how do you solve the following: mv <dir> <some_other_dir>
    > > > The parent changes. You need to go through all the subdirs of <dir> and change
    > > > the TID. This is really hard to get right and to avoid deadlocks
    > > > and races... At least it seems to me so.
    > >
    > > Provided you are tracking the total size in each directory, it's just a
    > > matter of subtracting dir's size from the old parent, and adding it to the
    > > new parent. (With suitable checks beforehand to avoid a result which
    > > exceeds quota.)
    > Nope. If you'd just keep usage in directory than you need to go all the way
    > up and decrease the usage and then go all the way down in the new directory.
    > It's simplier but also nontrivial...

    Yep, you're right: you'd need to ascend the target directory tree,
    increasing the cumulative size all the way up, then do the move and
    decrement the old location's totals in the same way. All wrapped up in a
    transaction (on journalled FSs) or have fsck rebuild the totals on a dirty
    mount. Fairly clean and painless on a JFS, but a bit of a mess on
    others - still, quite workable, and the performance hit shouldn't be too
    bad. Better than walking all the way DOWN the tree, anyway...


    James.

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:10    [W:2.732 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site