mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
vfs: replace ints with enum last_type for LAST_XXX
Several functions in namei.c take an "int *type" parameter, such as filename_parentat(). To know what values this can take you have to find the anonymous struct that defines the LAST_XXX values. Define an enum last_type to make this type explicit. Signed-off-by: Jori Koolstra <jkoolstra@xs4all.nl> Link: https://patch.msgid.link/20260528175854.57626-2-jkoolstra@xs4all.nl Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
This commit is contained in:
parent
f2f1dddcca
commit
318643721d
28
fs/namei.c
28
fs/namei.c
|
|
@ -132,7 +132,7 @@ static struct kmem_cache *__names_cache __ro_after_init;
|
|||
/*
|
||||
* Type of the last component on LOOKUP_PARENT
|
||||
*/
|
||||
enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT};
|
||||
enum last_type {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT};
|
||||
|
||||
void __init filename_init(void)
|
||||
{
|
||||
|
|
@ -732,7 +732,7 @@ struct nameidata {
|
|||
struct inode *inode; /* path.dentry.d_inode */
|
||||
unsigned int flags, state;
|
||||
unsigned seq, next_seq, m_seq, r_seq;
|
||||
int last_type;
|
||||
enum last_type last_type;
|
||||
unsigned depth;
|
||||
int total_link_count;
|
||||
struct saved {
|
||||
|
|
@ -2225,7 +2225,7 @@ static struct dentry *follow_dotdot(struct nameidata *nd)
|
|||
return dget(nd->path.dentry);
|
||||
}
|
||||
|
||||
static const char *handle_dots(struct nameidata *nd, int type)
|
||||
static const char *handle_dots(struct nameidata *nd, enum last_type type)
|
||||
{
|
||||
if (type == LAST_DOTDOT) {
|
||||
const char *error = NULL;
|
||||
|
|
@ -2873,7 +2873,7 @@ static int path_parentat(struct nameidata *nd, unsigned flags,
|
|||
/* Note: this does not consume "name" */
|
||||
static int __filename_parentat(int dfd, struct filename *name,
|
||||
unsigned int flags, struct path *parent,
|
||||
struct qstr *last, int *type,
|
||||
struct qstr *last, enum last_type *type,
|
||||
const struct path *root)
|
||||
{
|
||||
int retval;
|
||||
|
|
@ -2898,7 +2898,7 @@ static int __filename_parentat(int dfd, struct filename *name,
|
|||
|
||||
static int filename_parentat(int dfd, struct filename *name,
|
||||
unsigned int flags, struct path *parent,
|
||||
struct qstr *last, int *type)
|
||||
struct qstr *last, enum last_type *type)
|
||||
{
|
||||
return __filename_parentat(dfd, name, flags, parent, last, type, NULL);
|
||||
}
|
||||
|
|
@ -2966,7 +2966,8 @@ static struct dentry *__start_removing_path(int dfd, struct filename *name,
|
|||
struct path parent_path __free(path_put) = {};
|
||||
struct dentry *d;
|
||||
struct qstr last;
|
||||
int type, error;
|
||||
enum last_type type;
|
||||
int error;
|
||||
|
||||
error = filename_parentat(dfd, name, 0, &parent_path, &last, &type);
|
||||
if (error)
|
||||
|
|
@ -3012,7 +3013,8 @@ struct dentry *kern_path_parent(const char *name, struct path *path)
|
|||
CLASS(filename_kernel, filename)(name);
|
||||
struct dentry *d;
|
||||
struct qstr last;
|
||||
int type, error;
|
||||
enum last_type type;
|
||||
int error;
|
||||
|
||||
error = filename_parentat(AT_FDCWD, filename, 0, &parent_path, &last, &type);
|
||||
if (error)
|
||||
|
|
@ -3062,7 +3064,7 @@ int vfs_path_parent_lookup(struct filename *filename, unsigned int flags,
|
|||
struct path *parent, struct qstr *last,
|
||||
const struct path *root)
|
||||
{
|
||||
int type;
|
||||
enum last_type type;
|
||||
int err = __filename_parentat(AT_FDCWD, filename, flags, parent, last,
|
||||
&type, root);
|
||||
if (err)
|
||||
|
|
@ -4941,7 +4943,7 @@ static struct dentry *filename_create(int dfd, struct filename *name,
|
|||
bool want_dir = lookup_flags & LOOKUP_DIRECTORY;
|
||||
unsigned int reval_flag = lookup_flags & LOOKUP_REVAL;
|
||||
unsigned int create_flags = LOOKUP_CREATE | LOOKUP_EXCL;
|
||||
int type;
|
||||
enum last_type type;
|
||||
int error;
|
||||
|
||||
error = filename_parentat(dfd, name, reval_flag, path, &last, &type);
|
||||
|
|
@ -5403,7 +5405,7 @@ int filename_rmdir(int dfd, struct filename *name)
|
|||
struct dentry *dentry;
|
||||
struct path path;
|
||||
struct qstr last;
|
||||
int type;
|
||||
enum last_type type;
|
||||
unsigned int lookup_flags = 0;
|
||||
struct delegated_inode delegated_inode = { };
|
||||
retry:
|
||||
|
|
@ -5412,6 +5414,8 @@ int filename_rmdir(int dfd, struct filename *name)
|
|||
return error;
|
||||
|
||||
switch (type) {
|
||||
case LAST_NORM:
|
||||
break;
|
||||
case LAST_DOTDOT:
|
||||
error = -ENOTEMPTY;
|
||||
goto exit2;
|
||||
|
|
@ -5545,7 +5549,7 @@ int filename_unlinkat(int dfd, struct filename *name)
|
|||
struct dentry *dentry;
|
||||
struct path path;
|
||||
struct qstr last;
|
||||
int type;
|
||||
enum last_type type;
|
||||
struct inode *inode;
|
||||
struct delegated_inode delegated_inode = { };
|
||||
unsigned int lookup_flags = 0;
|
||||
|
|
@ -6112,7 +6116,7 @@ int filename_renameat2(int olddfd, struct filename *from,
|
|||
struct renamedata rd;
|
||||
struct path old_path, new_path;
|
||||
struct qstr old_last, new_last;
|
||||
int old_type, new_type;
|
||||
enum last_type old_type, new_type;
|
||||
struct delegated_inode delegated_inode = { };
|
||||
unsigned int lookup_flags = 0;
|
||||
bool should_retry = false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user