lkml.org 
[lkml]   [2004]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 13/28] VFS: Introduce soft reference counts
Mike Waychison wrote:

>This patch introduces the concept of a 'soft' reference count for a vfsmount.
>This type of reference count allows for references to be held on mountpoints
>that do not affect their busy states for userland unmounting. Some might
>argue that this is wrong because 'when I unmount a filesystem, I want the
>resources associated with it to go away too', but this way of thinking was
>deprecated with the addition of namespaces and --bind back in the 2.4 series.
>
>A future addition may see a callback mechanism so that in kernel users can
>use a given mountpoint and have it deregistered some way (quota and
>accounting come to mind).
>
>These soft reference counts are used by a later patch that adds an interface
>for holding and manipulating mountpoints using filedescriptors.
>
>Signed-off-by: Mike Waychison <michael.waychison@sun.com>
>
>+static inline struct vfsmount *mntsoftget(struct vfsmount *mnt)
>+{
>+ if (mnt) {
>+ read_lock(&vfsmountref_lock);
>+ atomic_inc(&mnt->mnt_softcount);
>+ mntgroupget(mnt);
>+ read_unlock(&vfsmountref_lock);
>+ }
>+ return mnt;
>+}
>+
>+static inline void mntsoftput(struct vfsmount *mnt)
>+{
>+ struct vfsmount *cleanup;
>+ might_sleep();
>+ if (mnt) {
>+ if (atomic_dec_and_test(&mnt->mnt_count))
>+ __mntput(mnt);
>+ read_lock(&vfsmountref_lock);
>+ cleanup = mntgroupput(mnt);
>+ atomic_dec(&mnt->mnt_softcount);
>+ read_unlock(&vfsmountref_lock);
>+ if (cleanup)
>+ __mntgroupput(cleanup);
>+ }
>+}
>+
> extern void free_vfsmnt(struct vfsmount *mnt);
>
>
What is this against? What are mntgroupput and mntgroupget? Why does
soft put decrement mnt_count which isn't increment by soft get? How do
soft references allow userland umount? I don't see soft references used
anywhere...

--Mika

-
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 14:07    [W:0.129 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site