diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2006-10-17 13:50:36 -0400 |
---|---|---|
committer | Jens Axboe <axboe@nelson.home.kernel.dk> | 2006-10-19 14:53:08 -0400 |
commit | 01de85e057328ecbef36e108673b1e81059d54c1 (patch) | |
tree | 0dbac62e48b2a2fa3f4ec4dea9b340ff31892a8c /include/linux/fs.h | |
parent | 6da61809822c22634a3de2dcb3c60283b836a88a (diff) |
[PATCH] Add lockless helpers for remove_suid()
Right now users have to grab i_mutex before calling remove_suid(), in the
unlikely event that a call to ->setattr() may be needed. Split up the
function in two parts:
- One to check if we need to remove suid
- One to actually remove it
The first we can call lockless.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index d695ba2346a3..2fe6e3f900ba 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -1712,6 +1712,8 @@ extern void __iget(struct inode * inode); | |||
1712 | extern void clear_inode(struct inode *); | 1712 | extern void clear_inode(struct inode *); |
1713 | extern void destroy_inode(struct inode *); | 1713 | extern void destroy_inode(struct inode *); |
1714 | extern struct inode *new_inode(struct super_block *); | 1714 | extern struct inode *new_inode(struct super_block *); |
1715 | extern int __remove_suid(struct dentry *, int); | ||
1716 | extern int should_remove_suid(struct dentry *); | ||
1715 | extern int remove_suid(struct dentry *); | 1717 | extern int remove_suid(struct dentry *); |
1716 | extern void remove_dquot_ref(struct super_block *, int, struct list_head *); | 1718 | extern void remove_dquot_ref(struct super_block *, int, struct list_head *); |
1717 | 1719 | ||