10 Apr, 2015

1 commit

  • This is needed to support lazily umounting locked mounts. Because the
    entire unmounted subtree needs to stay together until there are no
    users with references to any part of the subtree.

    To support this guarantee that the fs_pin m_list and s_list nodes
    are initialized by initializing them in init_fs_pin allowing
    for the possibility that pin_insert_group does not touch them.

    Further use hlist_del_init in pin_remove so that there is
    a hlist_unhashed test before the list we attempt to update
    the previous list item.

    Signed-off-by: "Eric W. Biederman"

    Eric W. Biederman
     

26 Jan, 2015

5 commits


08 Aug, 2014

2 commits

  • These externs belong in fs/internal.h. Rename (they are not acct-specific
    anymore) and move them over there.

    Signed-off-by: Al Viro

    Al Viro
     
  • Add a new field to fs_pin - kill(pin). That's what umount and r/o remount
    will be calling for all pins attached to vfsmount and superblock resp.
    Called after bumping the refcount, so it won't go away under us. Dropping
    the refcount is responsibility of the instance. All generic stuff moved to
    fs/fs_pin.c; the next step will rip all the knowledge of kernel/acct.c from
    fs/super.c and fs/namespace.c. After that - death to mnt_pin(); it was
    intended to be usable as generic mechanism for code that wants to attach
    objects to vfsmount, so that they would not make the sucker busy and
    would get killed on umount. Never got it right; it remained acct.c-specific
    all along. Now it's very close to being killable.

    Signed-off-by: Al Viro

    Al Viro