sysfs: Store the sysfs inode in an unsigned int.
authorEric W. Biederman <ebiederm@xmission.com>
Mon, 19 Dec 2011 04:08:16 +0000 (20:08 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 24 Jan 2012 20:41:46 +0000 (12:41 -0800)
Store the sysfs inode number in an unsided int because
ida inode allocator can return at most a 31 bit number,
reducing the size of struct sysfs_dirent by 8 bytes
on 64bit platforms.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/sysfs/dir.c
fs/sysfs/sysfs.h

index 0daf255..0589c9a 100644 (file)
@@ -224,7 +224,7 @@ static void sysfs_deactivate(struct sysfs_dirent *sd)
        rwsem_release(&sd->dep_map, 1, _RET_IP_);
 }
 
-static int sysfs_alloc_ino(ino_t *pino)
+static int sysfs_alloc_ino(unsigned int *pino)
 {
        int ino, rc;
 
@@ -243,7 +243,7 @@ static int sysfs_alloc_ino(ino_t *pino)
        return rc;
 }
 
-static void sysfs_free_ino(ino_t ino)
+static void sysfs_free_ino(unsigned int ino)
 {
        spin_lock(&sysfs_ino_lock);
        ida_remove(&sysfs_ino_ida, ino);
index 1999494..661a963 100644 (file)
@@ -79,7 +79,7 @@ struct sysfs_dirent {
 
        unsigned short          s_flags;
        umode_t                 s_mode;
-       ino_t                   s_ino;
+       unsigned int            s_ino;
        struct sysfs_inode_attrs *s_iattr;
 };