aboutsummaryrefslogtreecommitdiffstats
path: root/fs/configfs/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/configfs/file.c')
-rw-r--r--fs/configfs/file.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/fs/configfs/file.c b/fs/configfs/file.c
index 403269ffcdf3..d39099ea7df7 100644
--- a/fs/configfs/file.c
+++ b/fs/configfs/file.c
@@ -65,7 +65,6 @@ static int fill_read_buffer(struct dentry * dentry, struct configfs_buffer * buf
65{ 65{
66 struct configfs_attribute * attr = to_attr(dentry); 66 struct configfs_attribute * attr = to_attr(dentry);
67 struct config_item * item = to_item(dentry->d_parent); 67 struct config_item * item = to_item(dentry->d_parent);
68 struct configfs_item_operations * ops = buffer->ops;
69 int ret = 0; 68 int ret = 0;
70 ssize_t count; 69 ssize_t count;
71 70
@@ -74,7 +73,8 @@ static int fill_read_buffer(struct dentry * dentry, struct configfs_buffer * buf
74 if (!buffer->page) 73 if (!buffer->page)
75 return -ENOMEM; 74 return -ENOMEM;
76 75
77 count = ops->show_attribute(item,attr,buffer->page); 76 count = attr->show(item, buffer->page);
77
78 buffer->needs_read_fill = 0; 78 buffer->needs_read_fill = 0;
79 BUG_ON(count > (ssize_t)SIMPLE_ATTR_SIZE); 79 BUG_ON(count > (ssize_t)SIMPLE_ATTR_SIZE);
80 if (count >= 0) 80 if (count >= 0)
@@ -171,9 +171,8 @@ flush_write_buffer(struct dentry * dentry, struct configfs_buffer * buffer, size
171{ 171{
172 struct configfs_attribute * attr = to_attr(dentry); 172 struct configfs_attribute * attr = to_attr(dentry);
173 struct config_item * item = to_item(dentry->d_parent); 173 struct config_item * item = to_item(dentry->d_parent);
174 struct configfs_item_operations * ops = buffer->ops;
175 174
176 return ops->store_attribute(item,attr,buffer->page,count); 175 return attr->store(item, buffer->page, count);
177} 176}
178 177
179 178
@@ -237,8 +236,7 @@ static int check_perm(struct inode * inode, struct file * file)
237 * and we must have a store method. 236 * and we must have a store method.
238 */ 237 */
239 if (file->f_mode & FMODE_WRITE) { 238 if (file->f_mode & FMODE_WRITE) {
240 239 if (!(inode->i_mode & S_IWUGO) || !attr->store)
241 if (!(inode->i_mode & S_IWUGO) || !ops->store_attribute)
242 goto Eaccess; 240 goto Eaccess;
243 241
244 } 242 }
@@ -248,7 +246,7 @@ static int check_perm(struct inode * inode, struct file * file)
248 * must be a show method for it. 246 * must be a show method for it.
249 */ 247 */
250 if (file->f_mode & FMODE_READ) { 248 if (file->f_mode & FMODE_READ) {
251 if (!(inode->i_mode & S_IRUGO) || !ops->show_attribute) 249 if (!(inode->i_mode & S_IRUGO) || !attr->show)
252 goto Eaccess; 250 goto Eaccess;
253 } 251 }
254 252