]> Git Repo - J-linux.git/commitdiff
Merge tag 'gfs2-4.20.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2...
authorLinus Torvalds <[email protected]>
Wed, 24 Oct 2018 16:30:39 +0000 (17:30 +0100)
committerLinus Torvalds <[email protected]>
Wed, 24 Oct 2018 16:30:39 +0000 (17:30 +0100)
Pull gfs2 updates from Bob Peterson:
 "We've got 18 patches for this merge window, none of which are very
  major:

   - clean up the gfs2 block allocator to prepare for future performance
     enhancements (Andreas Gruenbacher)

   - fix a use-after-free problem (Andy Price)

   - patches that fix gfs2's broken rgrplvb mount option (me)

   - cleanup patches and error message improvements (me)

   - enable getlabel support (Steve Whitehouse and Abhi Das)

   - flush the glock delete workqueue at exit (Tim Smith)"

* tag 'gfs2-4.20.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
  gfs2: Fix minor typo: couln't versus couldn't.
  gfs2: write revokes should traverse sd_ail1_list in reverse
  gfs2: Pass resource group to rgblk_free
  gfs2: Remove unnecessary gfs2_rlist_alloc parameter
  gfs2: Fix marking bitmaps non-full
  gfs2: Fix some minor typos
  gfs2: Rename bitmap.bi_{len => bytes}
  gfs2: Remove unused RGRP_RSRV_MINBYTES definition
  gfs2: Move rs_{sizehint, rgd_gh} fields into the inode
  gfs2: Clean up out-of-bounds check in gfs2_rbm_from_block
  gfs2: Always check the result of gfs2_rbm_from_block
  gfs2: getlabel support
  GFS2: Flush the GFS2 delete workqueue before stopping the kernel threads
  gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd
  gfs2: Use fs_* functions instead of pr_* function where we can
  gfs2: slow the deluge of io error messages
  gfs2: Don't set GFS2_RDF_UPTODATE when the lvb is updated
  gfs2: improve debug information when lvb mismatches are found

1  2 
fs/gfs2/bmap.c
fs/gfs2/ops_fstype.c

diff --combined fs/gfs2/bmap.c
index 84544a4f012d744dda1a22d74c2482e9ff000f61,5f3ea07ef5e232f8d061a2fd38b4b9d19cf3af2f..a683d9b27d76033a191b72f81528a7b255de4f08
@@@ -1057,7 -1057,7 +1057,7 @@@ static int gfs2_iomap_begin_write(struc
                }
        }
        release_metapath(&mp);
 -      if (gfs2_is_jdata(ip))
 +      if (!gfs2_is_stuffed(ip) && gfs2_is_jdata(ip))
                iomap->page_done = gfs2_iomap_journaled_page_done;
        return 0;
  
@@@ -1566,7 -1566,7 +1566,7 @@@ more_rgrps
                        continue;
                }
                if (bstart) {
-                       __gfs2_free_blocks(ip, bstart, (u32)blen, meta);
+                       __gfs2_free_blocks(ip, rgd, bstart, (u32)blen, meta);
                        (*btotal) += blen;
                        gfs2_add_inode_blocks(&ip->i_inode, -blen);
                }
                blen = 1;
        }
        if (bstart) {
-               __gfs2_free_blocks(ip, bstart, (u32)blen, meta);
+               __gfs2_free_blocks(ip, rgd, bstart, (u32)blen, meta);
                (*btotal) += blen;
                gfs2_add_inode_blocks(&ip->i_inode, -blen);
        }
diff --combined fs/gfs2/ops_fstype.c
index 6b84ef6ccff3f28937e8fe65a75dac2696be5a00,4ec69d9783a84ef59fa3d722f43763817054e184..b041cb8ae383d8fd3642f00e9f2985594573e044
@@@ -72,13 -72,13 +72,13 @@@ static struct gfs2_sbd *init_sbd(struc
        if (!sdp)
                return NULL;
  
-       sb->s_fs_info = sdp;
        sdp->sd_vfs = sb;
        sdp->sd_lkstats = alloc_percpu(struct gfs2_pcpu_lkstats);
        if (!sdp->sd_lkstats) {
                kfree(sdp);
                return NULL;
        }
+       sb->s_fs_info = sdp;
  
        set_bit(SDF_NOJOURNALID, &sdp->sd_flags);
        gfs2_tune_init(&sdp->sd_tune);
@@@ -1333,9 -1333,6 +1333,9 @@@ static struct dentry *gfs2_mount_meta(s
        struct path path;
        int error;
  
 +      if (!dev_name || !*dev_name)
 +              return ERR_PTR(-EINVAL);
 +
        error = kern_path(dev_name, LOOKUP_FOLLOW, &path);
        if (error) {
                pr_warn("path_lookup on %s returned error %d\n",
This page took 0.06261 seconds and 4 git commands to generate.