lkml.org 
[lkml]   [2005]   [Aug]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: GFS
    On Mon, Aug 08, 2005 at 05:14:45PM +0300, Pekka J Enberg wrote:

    if (!dumping)
    down_read(&mm->mmap_sem);
    > >+
    > >+ for (vma = find_vma(mm, start); vma; vma = vma->vm_next) {
    > >+ if (end <= vma->vm_start)
    > >+ break;
    > >+ if (vma->vm_file &&
    > >+ vma->vm_file->f_dentry->d_inode->i_sb == sb) {
    > >+ num_gh++;
    > >+ }
    > >+ }
    > >+
    > >+ ghs = kmalloc((num_gh + 1) * sizeof(struct gfs2_holder),
    > >+ GFP_KERNEL);
    > >+ if (!ghs) {
    > >+ if (!dumping)
    > >+ up_read(&mm->mmap_sem);
    > >+ return -ENOMEM;
    > >+ }
    > >+
    > >+ for (vma = find_vma(mm, start); vma; vma = vma->vm_next) {
    >
    > Sorry if this is an obvious question but what prevents another thread from
    > doing mmap() before we do the second walk and messing up num_gh?

    mm->mmap_sem ?

    -
    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: 2005-08-10 07:57    [W:0.022 / U:89.468 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site