• KAMEZAWA Hiroyuki's avatar
    /proc/kcore: fix stat.st_size · 678ad5d8
    KAMEZAWA Hiroyuki authored
    Presently the size of /proc/kcore which can be read by 'ls -l' is 0.  But
    it's not the correct value.
    
    On x86-64, ls -l shows
     ... root root 140737486266368 2009-09-17 10:29 /proc/kcore
    Then, 7FFFFFFE02000. This comes from vmalloc area's size.
    (*) This shows "core" size, not  memory size.
    
    This patch shows the size by updating "size" field in struct
    proc_dir_entry.  Later, lookup routine will create inode and fill
    inode->i_size based on this value.  Then, this has a problem.
    
     - Once inode is cached, inode->i_size will never be updated.
    
    Then, this patch is not memory-hotplug-aware.
    
    To update inode->i_size, we have to know dentry or inode.
    But there is no way to lookup them by inside kernel. Hmmm....
    Next patch will try it.
    Signed-off-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Acked-by: default avatarWANG Cong <xiyou.wangcong@gmail.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    678ad5d8
kcore.c 15 KB