diff options
author | Christoph Hellwig <hch@lst.de> | 2015-10-03 09:32:59 -0400 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2015-10-14 01:17:57 -0400 |
commit | 517982229f78b2aebf00a8a337e84e8eeea70b8e (patch) | |
tree | 6f5f093837a26d5b56874689234dc818951779ac /fs/configfs | |
parent | 45b997737a8025be2825e464e9e9dd5d07160dc3 (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.c | 15 |
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 | ||