summaryrefslogtreecommitdiffstats
path: root/fs/sysfs/sysfs.h
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2009-11-20 16:08:50 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2009-12-11 11:24:53 -0800
commit35df63c46c8605d00140ec4833d2104e2e9f1acc (patch)
tree1f02d75ab4589d3c8878e38e9d45360a0c0667d4 /fs/sysfs/sysfs.h
parent4be3df28beec5605c77a18aa2a4f987b5648f9ce (diff)
downloadlinux-35df63c46c8605d00140ec4833d2104e2e9f1acc.tar.gz
linux-35df63c46c8605d00140ec4833d2104e2e9f1acc.tar.bz2
linux-35df63c46c8605d00140ec4833d2104e2e9f1acc.zip
sysfs: Fix locking and factor out sysfs_sd_setattr
Cleanly separate the work that is specific to setting the attributes of a sysfs_dirent from what is needed to update the attributes of a vfs inode. Additionally grab the sysfs_mutex to keep any nasties from surprising us when updating the sysfs_dirent. Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs/sysfs/sysfs.h')
-rw-r--r--fs/sysfs/sysfs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/sysfs/sysfs.h b/fs/sysfs/sysfs.h
index af4c4e7482ac..a96d9678ae73 100644
--- a/fs/sysfs/sysfs.h
+++ b/fs/sysfs/sysfs.h
@@ -155,6 +155,7 @@ static inline void __sysfs_put(struct sysfs_dirent *sd)
*/
struct inode *sysfs_get_inode(struct sysfs_dirent *sd);
void sysfs_delete_inode(struct inode *inode);
+int sysfs_sd_setattr(struct sysfs_dirent *sd, struct iattr *iattr);
int sysfs_setattr(struct dentry *dentry, struct iattr *iattr);
int sysfs_setxattr(struct dentry *dentry, const char *name, const void *value,
size_t size, int flags);