proc: make struct proc_dir_entry::namelen unsigned int
1. namelen is declared "unsigned short" which hints for "maybe space savings". Indeed in 2.4 struct proc_dir_entry looked like: struct proc_dir_entry { unsigned short low_ino; unsigned short namelen; Now, low_ino is "unsigned int", all savings were gone for a long time. "struct proc_dir_entry" is not that countless to worry about it's size, anyway. 2. converting from unsigned short to int/unsigned int can only create problems, we better play it safe. Space is not really conserved, because of natural alignment for the next field. sizeof(struct proc_dir_entry) remains the same. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
fc3d8767b2
Коммит
312ec7e50c
|
@ -28,7 +28,7 @@
|
|||
|
||||
DEFINE_SPINLOCK(proc_subdir_lock);
|
||||
|
||||
static int proc_match(int len, const char *name, struct proc_dir_entry *de)
|
||||
static int proc_match(unsigned int len, const char *name, struct proc_dir_entry *de)
|
||||
{
|
||||
if (de->namelen != len)
|
||||
return 0;
|
||||
|
@ -303,7 +303,7 @@ static int __xlate_proc_name(const char *name, struct proc_dir_entry **ret,
|
|||
{
|
||||
const char *cp = name, *next;
|
||||
struct proc_dir_entry *de;
|
||||
int len;
|
||||
unsigned int len;
|
||||
|
||||
de = *ret;
|
||||
if (!de)
|
||||
|
@ -602,7 +602,7 @@ static struct proc_dir_entry *__proc_create(struct proc_dir_entry **parent,
|
|||
{
|
||||
struct proc_dir_entry *ent = NULL;
|
||||
const char *fn = name;
|
||||
int len;
|
||||
unsigned int len;
|
||||
|
||||
/* make sure name is valid */
|
||||
if (!name || !strlen(name)) goto out;
|
||||
|
@ -786,7 +786,7 @@ void remove_proc_entry(const char *name, struct proc_dir_entry *parent)
|
|||
struct proc_dir_entry **p;
|
||||
struct proc_dir_entry *de = NULL;
|
||||
const char *fn = name;
|
||||
int len;
|
||||
unsigned int len;
|
||||
|
||||
spin_lock(&proc_subdir_lock);
|
||||
if (__xlate_proc_name(name, &parent, &fn) != 0) {
|
||||
|
|
|
@ -50,7 +50,7 @@ typedef int (write_proc_t)(struct file *file, const char __user *buffer,
|
|||
|
||||
struct proc_dir_entry {
|
||||
unsigned int low_ino;
|
||||
unsigned short namelen;
|
||||
unsigned int namelen;
|
||||
const char *name;
|
||||
mode_t mode;
|
||||
nlink_t nlink;
|
||||
|
|
Загрузка…
Ссылка в новой задаче