lkml.org 
[lkml]   [2007]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH] shm: Fix the filename of hugetlb sysv shared memory
    On Fri, 08 Jun 2007 17:43:34 -0600
    ebiederm@xmission.com (Eric W. Biederman) wrote:

    > Some user space tools need to identify SYSV shared memory when
    > examining /proc/<pid>/maps. To do so they look for a block device
    > with major zero, a dentry named SYSV<sysv key>, and having the minor of
    > the internal sysv shared memory kernel mount.
    >
    > To help these tools and to make it easier for people just browsing
    > /proc/<pid>/maps this patch modifies hugetlb sysv shared memory to
    > use the SYSV<key> dentry naming convention.
    >
    > User space tools will still have to be aware that hugetlb sysv
    > shared memory lives on a different internal kernel mount and so
    > has a different block device minor number from the rest of sysv
    > shared memory.

    I assume this fix is preferred over Badari's? If so, why?



    From: Badari Pulavarty <pbadari@us.ibm.com>

    shmid used to be stored as inode# for shared memory segments. Some of
    the proc-ps tools use this from /proc/pid/maps. Recent cleanups
    to newseg() changed it. This patch sets inode number back to shared
    memory id to fix breakage.

    Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com>
    Cc: "Albert Cahalan" <acahalan@gmail.com>
    Cc: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    ---

    ipc/shm.c | 5 +++++
    1 files changed, 5 insertions(+)

    diff -puN ipc/shm.c~restore-shmid-as-inode-to-fix-proc-pid-maps-abi-breakage ipc/shm.c
    --- a/ipc/shm.c~restore-shmid-as-inode-to-fix-proc-pid-maps-abi-breakage
    +++ a/ipc/shm.c
    @@ -397,6 +397,11 @@ static int newseg (struct ipc_namespace
    shp->shm_nattch = 0;
    shp->id = shm_buildid(ns, id, shp->shm_perm.seq);
    shp->shm_file = file;
    + /*
    + * shmid gets reported as "inode#" in /proc/pid/maps.
    + * proc-ps tools use this. Changing this will break them.
    + */
    + file->f_dentry->d_inode->i_ino = shp->id;

    ns->shm_tot += numpages;
    shm_unlock(shp);
    _
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-06-09 01:57    [W:0.025 / U:88.340 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site