summaryrefslogtreecommitdiffstats
path: root/fs/configfs
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2015-10-03 09:32:59 -0400
committerNicholas Bellinger <nab@linux-iscsi.org>2015-10-14 01:17:57 -0400
commit517982229f78b2aebf00a8a337e84e8eeea70b8e (patch)
tree6f5f093837a26d5b56874689234dc818951779ac /fs/configfs
parent45b997737a8025be2825e464e9e9dd5d07160dc3 (diff)
configfs: remove old API
Remove the old show_attribute and store_attribute methods and update the documentation. Also replace the two C samples with a single new one in the proper samples directory where people expect to find it. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'fs/configfs')
-rw-r--r--fs/configfs/file.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/fs/configfs/file.c b/fs/configfs/file.c
index 106ca589e90a..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,10 +73,7 @@ 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 if (ops->show_attribute) 76 count = attr->show(item, buffer->page);
78 count = ops->show_attribute(item, attr, buffer->page);
79 else
80 count = attr->show(item, buffer->page);
81 77
82 buffer->needs_read_fill = 0; 78 buffer->needs_read_fill = 0;
83 BUG_ON(count > (ssize_t)SIMPLE_ATTR_SIZE); 79 BUG_ON(count > (ssize_t)SIMPLE_ATTR_SIZE);
@@ -175,10 +171,7 @@ flush_write_buffer(struct dentry * dentry, struct configfs_buffer * buffer, size
175{ 171{
176 struct configfs_attribute * attr = to_attr(dentry); 172 struct configfs_attribute * attr = to_attr(dentry);
177 struct config_item * item = to_item(dentry->d_parent); 173 struct config_item * item = to_item(dentry->d_parent);
178 struct configfs_item_operations * ops = buffer->ops;
179 174
180 if (ops->store_attribute)
181 return ops->store_attribute(item, attr, buffer->page, count);
182 return attr->store(item, buffer->page, count); 175 return attr->store(item, buffer->page, count);
183} 176}
184 177
@@ -243,8 +236,7 @@ static int check_perm(struct inode * inode, struct file * file)
243 * and we must have a store method. 236 * and we must have a store method.
244 */ 237 */
245 if (file->f_mode & FMODE_WRITE) { 238 if (file->f_mode & FMODE_WRITE) {
246 if (!(inode->i_mode & S_IWUGO) || 239 if (!(inode->i_mode & S_IWUGO) || !attr->store)
247 (!ops->store_attribute && !attr->store))
248 goto Eaccess; 240 goto Eaccess;
249 241
250 } 242 }
@@ -254,8 +246,7 @@ static int check_perm(struct inode * inode, struct file * file)
254 * must be a show method for it. 246 * must be a show method for it.
255 */ 247 */
256 if (file->f_mode & FMODE_READ) { 248 if (file->f_mode & FMODE_READ) {
257 if (!(inode->i_mode & S_IRUGO) || 249 if (!(inode->i_mode & S_IRUGO) || !attr->show)
258 (!ops->show_attribute && !attr->show))
259 goto Eaccess; 250 goto Eaccess;
260 } 251 }
261 252