nfs: new subdir Documentation/filesystems/nfs
[safe/jmp/linux-2.6] / drivers / oprofile / oprofilefs.c
index deb3735..2766a6d 100644 (file)
 
 DEFINE_SPINLOCK(oprofilefs_lock);
 
-static struct inode * oprofilefs_get_inode(struct super_block * sb, int mode)
+static struct inode *oprofilefs_get_inode(struct super_block *sb, int mode)
 {
-       struct inode * inode = new_inode(sb);
+       struct inode *inode = new_inode(sb);
 
        if (inode) {
                inode->i_mode = mode;
-               inode->i_uid = 0;
-               inode->i_gid = 0;
-               inode->i_blksize = PAGE_CACHE_SIZE;
-               inode->i_blocks = 0;
                inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
        }
        return inode;
 }
 
 
-static struct super_operations s_ops = {
+static const struct super_operations s_ops = {
        .statfs         = simple_statfs,
        .drop_inode     = generic_delete_inode,
 };
 
 
-ssize_t oprofilefs_str_to_user(char const * str, char __user * buf, size_t count, loff_t * offset)
+ssize_t oprofilefs_str_to_user(char const *str, char __user *buf, size_t count, loff_t *offset)
 {
        return simple_read_from_buffer(buf, count, offset, str, strlen(str));
 }
@@ -53,7 +49,7 @@ ssize_t oprofilefs_str_to_user(char const * str, char __user * buf, size_t count
 
 #define TMPBUFSIZE 50
 
-ssize_t oprofilefs_ulong_to_user(unsigned long val, char __user * buf, size_t count, loff_t * offset)
+ssize_t oprofilefs_ulong_to_user(unsigned long val, char __user *buf, size_t count, loff_t *offset)
 {
        char tmpbuf[TMPBUFSIZE];
        size_t maxlen = snprintf(tmpbuf, TMPBUFSIZE, "%lu\n", val);
@@ -63,9 +59,10 @@ ssize_t oprofilefs_ulong_to_user(unsigned long val, char __user * buf, size_t co
 }
 
 
-int oprofilefs_ulong_from_user(unsigned long * val, char const __user * buf, size_t count)
+int oprofilefs_ulong_from_user(unsigned long *val, char const __user *buf, size_t count)
 {
        char tmpbuf[TMPBUFSIZE];
+       unsigned long flags;
 
        if (!count)
                return 0;
@@ -78,23 +75,23 @@ int oprofilefs_ulong_from_user(unsigned long * val, char const __user * buf, siz
        if (copy_from_user(tmpbuf, buf, count))
                return -EFAULT;
 
-       spin_lock(&oprofilefs_lock);
+       spin_lock_irqsave(&oprofilefs_lock, flags);
        *val = simple_strtoul(tmpbuf, NULL, 0);
-       spin_unlock(&oprofilefs_lock);
+       spin_unlock_irqrestore(&oprofilefs_lock, flags);
        return 0;
 }
 
 
-static ssize_t ulong_read_file(struct file * file, char __user * buf, size_t count, loff_t * offset)
+static ssize_t ulong_read_file(struct file *file, char __user *buf, size_t count, loff_t *offset)
 {
-       unsigned long * val = file->private_data;
+       unsigned long *val = file->private_data;
        return oprofilefs_ulong_to_user(*val, buf, count, offset);
 }
 
 
-static ssize_t ulong_write_file(struct file * file, char const __user * buf, size_t count, loff_t * offset)
+static ssize_t ulong_write_file(struct file *file, char const __user *buf, size_t count, loff_t *offset)
 {
-       unsigned long * value = file->private_data;
+       unsigned long *value = file->private_data;
        int retval;
 
        if (*offset)
@@ -108,7 +105,7 @@ static ssize_t ulong_write_file(struct file * file, char const __user * buf, siz
 }
 
 
-static int default_open(struct inode * inode, struct file * filp)
+static int default_open(struct inode *inode, struct file *filp)
 {
        if (inode->i_private)
                filp->private_data = inode->i_private;
@@ -116,25 +113,25 @@ static int default_open(struct inode * inode, struct file * filp)
 }
 
 
-static struct file_operations ulong_fops = {
+static const struct file_operations ulong_fops = {
        .read           = ulong_read_file,
        .write          = ulong_write_file,
        .open           = default_open,
 };
 
 
-static struct file_operations ulong_ro_fops = {
+static const struct file_operations ulong_ro_fops = {
        .read           = ulong_read_file,
        .open           = default_open,
 };
 
 
-static struct dentry * __oprofilefs_create_file(struct super_block * sb,
-       struct dentry * root, char const * name, const struct file_operations * fops,
+static struct dentry *__oprofilefs_create_file(struct super_block *sb,
+       struct dentry *root, char const *name, const struct file_operations *fops,
        int perm)
 {
-       struct dentry * dentry;
-       struct inode * inode;
+       struct dentry *dentry;
+       struct inode *inode;
 
        dentry = d_alloc_name(root, name);
        if (!dentry)
@@ -150,10 +147,10 @@ static struct dentry * __oprofilefs_create_file(struct super_block * sb,
 }
 
 
-int oprofilefs_create_ulong(struct super_block * sb, struct dentry * root,
-       char const * name, unsigned long * val)
+int oprofilefs_create_ulong(struct super_block *sb, struct dentry *root,
+       char const *name, unsigned long *val)
 {
-       struct dentry * d = __oprofilefs_create_file(sb, root, name,
+       struct dentry *d = __oprofilefs_create_file(sb, root, name,
                                                     &ulong_fops, 0644);
        if (!d)
                return -EFAULT;
@@ -163,10 +160,10 @@ int oprofilefs_create_ulong(struct super_block * sb, struct dentry * root,
 }
 
 
-int oprofilefs_create_ro_ulong(struct super_block * sb, struct dentry * root,
-       char const * name, unsigned long * val)
+int oprofilefs_create_ro_ulong(struct super_block *sb, struct dentry *root,
+       char const *name, unsigned long *val)
 {
-       struct dentry * d = __oprofilefs_create_file(sb, root, name,
+       struct dentry *d = __oprofilefs_create_file(sb, root, name,
                                                     &ulong_ro_fops, 0444);
        if (!d)
                return -EFAULT;
@@ -176,23 +173,23 @@ int oprofilefs_create_ro_ulong(struct super_block * sb, struct dentry * root,
 }
 
 
-static ssize_t atomic_read_file(struct file * file, char __user * buf, size_t count, loff_t * offset)
+static ssize_t atomic_read_file(struct file *file, char __user *buf, size_t count, loff_t *offset)
 {
-       atomic_t * val = file->private_data;
+       atomic_t *val = file->private_data;
        return oprofilefs_ulong_to_user(atomic_read(val), buf, count, offset);
 }
 
-static struct file_operations atomic_ro_fops = {
+
+static const struct file_operations atomic_ro_fops = {
        .read           = atomic_read_file,
        .open           = default_open,
 };
 
-int oprofilefs_create_ro_atomic(struct super_block * sb, struct dentry * root,
-       char const * name, atomic_t * val)
+
+int oprofilefs_create_ro_atomic(struct super_block *sb, struct dentry *root,
+       char const *name, atomic_t *val)
 {
-       struct dentry * d = __oprofilefs_create_file(sb, root, name,
+       struct dentry *d = __oprofilefs_create_file(sb, root, name,
                                                     &atomic_ro_fops, 0444);
        if (!d)
                return -EFAULT;
@@ -201,9 +198,9 @@ int oprofilefs_create_ro_atomic(struct super_block * sb, struct dentry * root,
        return 0;
 }
 
-int oprofilefs_create_file(struct super_block * sb, struct dentry * root,
-       char const * name, const struct file_operations * fops)
+
+int oprofilefs_create_file(struct super_block *sb, struct dentry *root,
+       char const *name, const struct file_operations *fops)
 {
        if (!__oprofilefs_create_file(sb, root, name, fops, 0644))
                return -EFAULT;
@@ -211,8 +208,8 @@ int oprofilefs_create_file(struct super_block * sb, struct dentry * root,
 }
 
 
-int oprofilefs_create_file_perm(struct super_block * sb, struct dentry * root,
-       char const * name, const struct file_operations * fops, int perm)
+int oprofilefs_create_file_perm(struct super_block *sb, struct dentry *root,
+       char const *name, const struct file_operations *fops, int perm)
 {
        if (!__oprofilefs_create_file(sb, root, name, fops, perm))
                return -EFAULT;
@@ -220,11 +217,11 @@ int oprofilefs_create_file_perm(struct super_block * sb, struct dentry * root,
 }
 
 
-struct dentry * oprofilefs_mkdir(struct super_block * sb,
-       struct dentry * root, char const * name)
+struct dentry *oprofilefs_mkdir(struct super_block *sb,
+       struct dentry *root, char const *name)
 {
-       struct dentry * dentry;
-       struct inode * inode;
+       struct dentry *dentry;
+       struct inode *inode;
 
        dentry = d_alloc_name(root, name);
        if (!dentry)
@@ -241,10 +238,10 @@ struct dentry * oprofilefs_mkdir(struct super_block * sb,
 }
 
 
-static int oprofilefs_fill_super(struct super_block * sb, void * data, int silent)
+static int oprofilefs_fill_super(struct super_block *sb, void *data, int silent)
 {
-       struct inode * root_inode;
-       struct dentry * root_dentry;
+       struct inode *root_inode;
+       struct dentry *root_dentry;
 
        sb->s_blocksize = PAGE_CACHE_SIZE;
        sb->s_blocksize_bits = PAGE_CACHE_SHIFT;