summaryrefslogtreecommitdiff
path: root/fs/sysfs
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2011-12-18 20:08:16 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2012-01-24 12:41:46 -0800
commitcafa6b5dd7ce4f0e0a30be301be4efed587a7808 (patch)
tree47200ffb5c660280ebe734b29662c12df24d7ab5 /fs/sysfs
parent15a3382451e51925facfe430deeca63d90137f5d (diff)
downloadlwn-cafa6b5dd7ce4f0e0a30be301be4efed587a7808.tar.gz
lwn-cafa6b5dd7ce4f0e0a30be301be4efed587a7808.zip
sysfs: Store the sysfs inode in an unsigned int.
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>
Diffstat (limited to 'fs/sysfs')
-rw-r--r--fs/sysfs/dir.c4
-rw-r--r--fs/sysfs/sysfs.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c
index 0daf255b7bf9..0589c9a694bf 100644
--- a/fs/sysfs/dir.c
+++ b/fs/sysfs/dir.c
@@ -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);
diff --git a/fs/sysfs/sysfs.h b/fs/sysfs/sysfs.h
index 19994948ac5c..661a9639570b 100644
--- a/fs/sysfs/sysfs.h
+++ b/fs/sysfs/sysfs.h
@@ -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;
};