fs: xattr_handler table should be const
The entries in xattr handler table should be immutable (ie const) like other operation tables. Later patches convert common filesystems. Uncoverted filesystems will still work, but will generate a compiler warning. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
committed by
Al Viro
parent
18e9e5104f
commit
bb4354538e
14
fs/xattr.c
14
fs/xattr.c
@@ -590,10 +590,10 @@ strcmp_prefix(const char *a, const char *a_prefix)
|
||||
/*
|
||||
* Find the xattr_handler with the matching prefix.
|
||||
*/
|
||||
static struct xattr_handler *
|
||||
xattr_resolve_name(struct xattr_handler **handlers, const char **name)
|
||||
static const struct xattr_handler *
|
||||
xattr_resolve_name(const struct xattr_handler **handlers, const char **name)
|
||||
{
|
||||
struct xattr_handler *handler;
|
||||
const struct xattr_handler *handler;
|
||||
|
||||
if (!*name)
|
||||
return NULL;
|
||||
@@ -614,7 +614,7 @@ xattr_resolve_name(struct xattr_handler **handlers, const char **name)
|
||||
ssize_t
|
||||
generic_getxattr(struct dentry *dentry, const char *name, void *buffer, size_t size)
|
||||
{
|
||||
struct xattr_handler *handler;
|
||||
const struct xattr_handler *handler;
|
||||
|
||||
handler = xattr_resolve_name(dentry->d_sb->s_xattr, &name);
|
||||
if (!handler)
|
||||
@@ -629,7 +629,7 @@ generic_getxattr(struct dentry *dentry, const char *name, void *buffer, size_t s
|
||||
ssize_t
|
||||
generic_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size)
|
||||
{
|
||||
struct xattr_handler *handler, **handlers = dentry->d_sb->s_xattr;
|
||||
const struct xattr_handler *handler, **handlers = dentry->d_sb->s_xattr;
|
||||
unsigned int size = 0;
|
||||
|
||||
if (!buffer) {
|
||||
@@ -659,7 +659,7 @@ generic_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size)
|
||||
int
|
||||
generic_setxattr(struct dentry *dentry, const char *name, const void *value, size_t size, int flags)
|
||||
{
|
||||
struct xattr_handler *handler;
|
||||
const struct xattr_handler *handler;
|
||||
|
||||
if (size == 0)
|
||||
value = ""; /* empty EA, do not remove */
|
||||
@@ -676,7 +676,7 @@ generic_setxattr(struct dentry *dentry, const char *name, const void *value, siz
|
||||
int
|
||||
generic_removexattr(struct dentry *dentry, const char *name)
|
||||
{
|
||||
struct xattr_handler *handler;
|
||||
const struct xattr_handler *handler;
|
||||
|
||||
handler = xattr_resolve_name(dentry->d_sb->s_xattr, &name);
|
||||
if (!handler)
|
||||
|
Reference in New Issue
Block a user