Use struct path in fs_struct

* Use struct path in fs_struct.

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Jan Blunck <jblunck@suse.de>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Jan Blunck
2008-02-14 19:34:38 -08:00
committed by Linus Torvalds
parent 5dd784d049
commit 6ac08c39a1
9 changed files with 87 additions and 111 deletions
+2 -2
View File
@@ -1697,8 +1697,8 @@ void __audit_getname(const char *name)
++context->name_count;
if (!context->pwd) {
read_lock(&current->fs->lock);
context->pwd = dget(current->fs->pwd);
context->pwdmnt = mntget(current->fs->pwdmnt);
context->pwd = dget(current->fs->pwd.dentry);
context->pwdmnt = mntget(current->fs->pwd.mnt);
read_unlock(&current->fs->lock);
}
+4 -8
View File
@@ -512,14 +512,10 @@ static void __put_fs_struct(struct fs_struct *fs)
{
/* No need to hold fs->lock if we are killing it */
if (atomic_dec_and_test(&fs->count)) {
dput(fs->root);
mntput(fs->rootmnt);
dput(fs->pwd);
mntput(fs->pwdmnt);
if (fs->altroot) {
dput(fs->altroot);
mntput(fs->altrootmnt);
}
path_put(&fs->root);
path_put(&fs->pwd);
if (fs->altroot.dentry)
path_put(&fs->altroot);
kmem_cache_free(fs_cachep, fs);
}
}
+9 -9
View File
@@ -600,16 +600,16 @@ static struct fs_struct *__copy_fs_struct(struct fs_struct *old)
rwlock_init(&fs->lock);
fs->umask = old->umask;
read_lock(&old->lock);
fs->rootmnt = mntget(old->rootmnt);
fs->root = dget(old->root);
fs->pwdmnt = mntget(old->pwdmnt);
fs->pwd = dget(old->pwd);
if (old->altroot) {
fs->altrootmnt = mntget(old->altrootmnt);
fs->altroot = dget(old->altroot);
fs->root = old->root;
path_get(&old->root);
fs->pwd = old->pwd;
path_get(&old->pwd);
if (old->altroot.dentry) {
fs->altroot = old->altroot;
path_get(&old->altroot);
} else {
fs->altrootmnt = NULL;
fs->altroot = NULL;
fs->altroot.mnt = NULL;
fs->altroot.dentry = NULL;
}
read_unlock(&old->lock);
}