28 Sep, 2013

2 commits

  • More radeon fixes for 3.12. Kind of all over the place: UVD, DPM,
    tiling, etc.

    * 'drm-fixes-3.12' of git://people.freedesktop.org/~agd5f/linux:
    drm/radeon: fix hdmi audio on DCE3.0/3.1 asics
    drm/radeon/cik: fix overflow in vram fetch
    drm/radeon: add missing hdmi callbacks for rv6xx
    drm/radeon/uvd: lower msg&fb buffer requirements on UVD3
    drm/radeon: disable tests/benchmarks if accel is disabled
    drm/radeon: don't set default clocks for SI when DPM is disabled
    drm/radeon/dpm/ci: filter clocks based on voltage/clk dep tables
    drm/radeon/dpm/si: filter clocks based on voltage/clk dep tables
    drm/radeon/dpm/ni: filter clocks based on voltage/clk dep tables
    drm/radeon/dpm/btc: filter clocks based on voltage/clk dep tables
    drm/radeon/dpm: fetch the max clk from voltage dep tables helper
    drm/radeon: fix missed variable sized access
    drm/radeon: Make r100_cp_ring_info() and radeon_ring_gfx() safe (v2)
    drm/radeon/cik: Add tiling mode index for 1D tiled depth/stencil surfaces
    drm/radeon/cik: Fix encoding of number of banks in tiling configuration info
    drm/radeon/cik: Fix printing of client name on VM protection fault
    drm/radeon: additional gcc fixes for radeon_atombios.c
    drm/radeon: avoid UVD corruption on AGP cards using GPU gart

    Dave Airlie
     
  • …rm-intel into drm-fixes

    Just a few fixes for regressions and other serious stuff.

    Two fix state tracking mismatches, together with an additional patch that
    I've submitted to stable (somehow forgotten to tag it) we should have them
    fixed now (I hope).

    * tag 'drm-intel-fixes-2013-09-26' of git://people.freedesktop.org/~danvet/drm-intel:
    drm/i915: Fix up usage of SHRINK_STOP
    drm/i915: preserve pipe A quirk in i9xx_set_pipeconf
    drm/i915/tv: clear adjusted_mode.flags
    drm/i915/dp: increase i2c-over-aux retry interval on AUX DEFER
    drm/i915: Use a temporary va_list for two-pass string handling

    Dave Airlie
     

26 Sep, 2013

2 commits

  • In

    commit 81e49f811404f428a9d9a63295a0c267e802fa12
    Author: Glauber Costa
    Date: Wed Aug 28 10:18:13 2013 +1000

    i915: bail out earlier when shrinker cannot acquire mutex

    SHRINK_STOP was added to tell the core shrinker code to bail out and
    go to the next shrinker since the i915 shrinker couldn't acquire
    required locks. But the SHRINK_STOP return code was added to the
    ->count_objects callback and not the ->scan_objects callback as it
    should have been, resulting in tons of dmesg noise like

    shrink_slab: i915_gem_inactive_scan+0x0/0x9c negative objects to delete nr=-xxxxxxxxx

    Fix discusssed with Dave Chinner.

    References: http://www.spinics.net/lists/intel-gfx/msg33597.html
    Reported-by: Knut Petersen
    Cc: Knut Petersen
    Cc: Dave Chinner
    Cc: Glauber Costa
    Cc: Glauber Costa
    Cc: Andrew Morton
    Cc: Rik van Riel
    Cc: Mel Gorman
    Cc: Johannes Weiner
    Cc: Michal Hocko
    Acked-by: Dave Chinner
    Signed-off-by: Daniel Vetter

    Daniel Vetter
     
  • These asics seem to use a mix of the DCE2.x and
    DCE3.2 audio interfaces despite what the register spec
    says.

    Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=69729
    https://bugs.freedesktop.org/show_bug.cgi?id=69671

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org

    Alex Deucher
     

25 Sep, 2013

3 commits

  • This regression has been introduced in

    commit 9f11a9e4e50006b615ba94722dfc33ced89664cf
    Author: Daniel Vetter
    Date: Thu Jun 13 00:54:58 2013 +0200

    drm/i915: set up PIPECONF explicitly for i9xx/vlv platforms

    Ville brough up the idea that this is just the pipe A quirk gone
    wrong.

    Note that after resume the bios might or might not have enabled pipe A
    already. We have a bit of magic to make sure that on resume we set up
    a decent mode for pipe A, but I fear if I just smash pipe A to always
    on we'd enable it in a bogus state and hang the hw. Hence the
    readback.

    v2: Clarify the logic a bit as suggested by Chris. Also amend the
    commit message to clarify why we don't unconditionally enable the
    pipe.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66462
    References: https://lkml.org/lkml/2013/8/26/238
    Cc: Meelis Roos
    Cc: Chris Wilson
    Cc: Ville Syrjälä
    Reviewed-by: Chris Wilson
    [danvet: Use |= instead of = as suggested by Chris.]
    Cc: stable@vger.kernel.org
    Signed-off-by: Daniel Vetter

    Daniel Vetter
     
  • The native TV encoder has it's own flags to adjust sync modes and
    enabled interlaced modes which are totally irrelevant for the adjusted
    mode. This worked out nicely since the input modes used by both the
    load detect code and reported in the ->get_modes callbacks all have no
    flags set, and we also don't fill out any of them in the ->get_config
    callback.

    This changed with the additional sanitation done with

    commit 2960bc9cceecb5d556ce1c07656a6609e2f7e8b0
    Author: Imre Deak
    Date: Tue Jul 30 13:36:32 2013 +0300

    drm/i915: make user mode sync polarity setting explicit

    sinc now the "no flags at all" state wouldn't fit through core code
    any more. So fix this up again by explicitly clearing the flags in the
    ->compute_config callback.

    Aside: We have zero checking in place to make sure that the requested
    mode is indeed the right input mode we want for the selected TV mode.
    So we'll happily fall over if userspace tries to pull us. But that's
    definitely work for a different patch series. So just add a FIXME
    comment for now.

    Reported-by: Knut Petersen
    Cc: Knut Petersen
    Cc: Imre Deak
    Cc: Chris Wilson
    Tested-by: Knut Petersen
    Signed-off-by: Daniel Vetter

    Daniel Vetter
     
  • There is no clear cut rules or specs for the retry interval, as there
    are many factors that affect overall response time. Increase the
    interval, and even more so on branch devices which may have limited i2c
    bit rates.

    Signed-off-by: Jani Nikula
    Reference: https://bugs.freedesktop.org/show_bug.cgi?id=60263
    Tested-by: Nicolas Suzor
    Reviewed-by: Todd Previte
    Cc: stable@vger.kernel.org
    Signed-off-by: Daniel Vetter

    Jani Nikula
     

24 Sep, 2013

6 commits

  • Missing ULL when calculating the amount of vram
    leads to an overflow when the amount of vram is >= 4G.

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org

    Alex Deucher
     
  • When dpm was merged, I added a new asic struct for
    rv6xx, but it never got properly updated when the
    hdmi callbacks were added due to the two patch sets
    being developed in parallel.

    Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=69729

    Signed-off-by: Alex Deucher
    Reviewed-by: Christian König
    Cc: stable@vger.kernel.org

    Alex Deucher
     
  • In

    commit edc3d8848dc9fe2a470316363dab8ef211d77e01
    Author: Mika Kuoppala
    Date: Thu May 23 13:55:35 2013 +0300

    drm/i915: avoid big kmallocs on reading error state

    we introduce a two-pass mechanism for splitting long strings being
    formatted into the error-state. The first pass finds the length, and the
    second pass emits the right portion of the string into the accumulation
    buffer. Unfortunately we use the same va_list for both passes, resulting
    in the second pass reading garbage off the end of the argument list. As
    the two passes are only used for boundaries between read() calls, the
    corruption is only rarely seen.

    This fixes the root cause behind

    commit baf27f9b17bf2f369f3865e38c41d2163e8d815d
    Author: Chris Wilson
    Date: Sat Jun 29 23:26:50 2013 +0100

    drm/i915: Break up the large vsnprintf() in print_error_buffers()

    Signed-off-by: Chris Wilson
    Cc: Mika Kuoppala
    Cc: Daniel Vetter
    Cc: stable@vger.kernel.org
    Signed-off-by: Daniel Vetter

    Chris Wilson
     
  • Linus Torvalds
     
  • Pull staging fixes from Greg KH:
    "Here are a number of small staging tree and iio driver fixes. Nothing
    major, just lots of little things"

    * tag 'staging-3.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (34 commits)
    iio:buffer_cb: Add missing iio_buffer_init()
    iio: Prevent race between IIO chardev opening and IIO device free
    iio: fix: Keep a reference to the IIO device for open file descriptors
    iio: Stop sampling when the device is removed
    iio: Fix crash when scan_bytes is computed with active_scan_mask == NULL
    iio: Fix mcp4725 dev-to-indio_dev conversion in suspend/resume
    iio: Fix bma180 dev-to-indio_dev conversion in suspend/resume
    iio: Fix tmp006 dev-to-indio_dev conversion in suspend/resume
    iio: iio_device_add_event_sysfs() bugfix
    staging: iio: ade7854-spi: Fix return value
    staging:iio:hmc5843: Fix measurement conversion
    iio: isl29018: Fix uninitialized value
    staging:iio:dummy fix kfifo_buf kconfig dependency issue if kfifo modular and buffer enabled for built in dummy driver.
    iio: at91: fix adc_clk overflow
    staging: line6: add bounds check in snd_toneport_source_put()
    Staging: comedi: Fix dependencies for drivers misclassified as PCI
    staging: r8188eu: Adjust RX gain
    staging: r8188eu: Fix smatch warning in core/rtw_ieee80211.
    staging: r8188eu: Fix smatch error in core/rtw_mlme_ext.c
    staging: r8188eu: Fix Smatch off-by-one warning in hal/rtl8188e_hal_init.c
    ...

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are a number of small USB fixes for 3.12-rc2.

    One is a revert of a EHCI change that isn't quite ready for 3.12.
    Others are minor things, gadget fixes, Kconfig fixes, and some quirks
    and documentation updates.

    All have been in linux-next for a bit"

    * tag 'usb-3.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    USB: pl2303: distinguish between original and cloned HX chips
    USB: Faraday fotg210: fix email addresses
    USB: fix typo in usb serial simple driver Kconfig
    Revert "USB: EHCI: support running URB giveback in tasklet context"
    usb: s3c-hsotg: do not disconnect gadget when receiving ErlySusp intr
    usb: s3c-hsotg: fix unregistration function
    usb: gadget: f_mass_storage: reset endpoint driver data when disabled
    usb: host: fsl-mph-dr-of: Staticize local symbols
    usb: gadget: f_eem: Staticize eem_alloc
    usb: gadget: f_ecm: Staticize ecm_alloc
    usb: phy: omap-usb3: Fix return value
    usb: dwc3: gadget: avoid memory leak when failing to allocate all eps
    usb: dwc3: remove extcon dependency
    usb: gadget: add '__ref' for rndis_config_register() and cdc_config_register()
    usb: dwc3: pci: add support for BayTrail
    usb: gadget: cdc2: fix conversion to new interface of f_ecm
    usb: gadget: fix a bug and a WARN_ON in dummy-hcd
    usb: gadget: mv_u3d_core: fix violation of locking discipline in mv_u3d_ep_disable()

    Linus Torvalds
     

23 Sep, 2013

13 commits

  • Starting with UVD3 message and feedback buffers have their
    own 256MB segment, so no need to force them into VRAM any more.

    Signed-off-by: Christian König
    Signed-off-by: Alex Deucher

    Christian König
     
  • The tests are only usable if the acceleration engines have
    been successfully initialized.

    Based on an initial patch from: Alex Ivanov

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org

    Alex Deucher
     
  • This is a partial revert of c6cf7777a32da874fabec4fd1c2a579f0ba4e4dd.

    We need to take into account the clk voltage dependencies of the
    board. Not doing so can lead to stability issues on certain
    boards if the clks exceed the levels in the dep tables.

    DPM already takes that into account, so for optimal performance,
    use DPM.

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org

    Alex Deucher
     
  • Filter out mclk and sclk levels higher than listed in the clk
    voltage dependency tables. Supporting these clocks will require
    additional driver tweaking that isn't supported yet.

    See bug:
    https://bugs.freedesktop.org/show_bug.cgi?id=68235

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • Filter out mclk and sclk levels higher than listed in the clk
    voltage dependency tables. Supporting these clocks will require
    additional driver tweaking that isn't supported yet.

    See bug:
    https://bugs.freedesktop.org/show_bug.cgi?id=68235

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • filter out mclk and sclk levels higher than listed in the clk
    voltage dependency tables. Supporting these clocks will require
    additional driver tweaking that isn't supported yet.

    See bug:
    https://bugs.freedesktop.org/show_bug.cgi?id=68235

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • Filter out mclk and sclk levels higher than listed in the clk
    voltage dependency tables. Supporting these clocks will require
    additional driver tweaking that isn't supported yet.

    See bug:
    https://bugs.freedesktop.org/show_bug.cgi?id=68235

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • This patch adds a helper function to fetch the max clock
    from the voltage clock dependecy tables. Clocks above that
    level tend to be unstable and will require additional driver
    tweaks in order to work properly.

    This patch implemented the helper function to fetch the max clocks
    from the dependency tables. The following patches implement the
    per-asic clock filtering.

    See bug:
    https://bugs.freedesktop.org/show_bug.cgi?id=68235

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • I missed this when I fixed up this file.

    Noticed-by: Mathias Fröhlich
    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • Pull drm fixes from Dave Airlie:
    - some small fixes for msm and exynos
    - a regression revert affecting nouveau users with old userspace
    - intel pageflip deadlock and gpu hang fixes, hsw modesetting hangs

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (22 commits)
    Revert "drm: mark context support as a legacy subsystem"
    drm/i915: Don't enable the cursor on a disable pipe
    drm/i915: do not update cursor in crtc mode set
    drm/exynos: fix return value check in lowlevel_buffer_allocate()
    drm/exynos: Fix address space warnings in exynos_drm_fbdev.c
    drm/exynos: Fix address space warning in exynos_drm_buf.c
    drm/exynos: Remove redundant OF dependency
    drm/msm: drop unnecessary set_need_resched()
    drm/i915: kill set_need_resched
    drm/msm: fix potential NULL pointer dereference
    drm/i915/dvo: set crtc timings again for panel fixed modes
    drm/i915/sdvo: Robustify the dtddrm_mode conversions
    drm/msm: workaround for missing irq
    drm/msm: return -EBUSY if bo still active
    drm/msm: fix return value check in ERR_PTR()
    drm/msm: fix cmdstream size check
    drm/msm: hangcheck harder
    drm/msm: handle read vs write fences
    drm/i915/sdvo: Fully translate sync flags in the dtd->mode conversion
    drm/i915: Use proper print format for debug prints
    ...

    Linus Torvalds
     
  • Pull block IO fixes from Jens Axboe:
    "After merge window, no new stuff this time only a collection of neatly
    confined and simple fixes"

    * 'for-3.12/core' of git://git.kernel.dk/linux-block:
    cfq: explicitly use 64bit divide operation for 64bit arguments
    block: Add nr_bios to block_rq_remap tracepoint
    If the queue is dying then we only call the rq->end_io callout. This leaves bios setup on the request, because the caller assumes when the blk_execute_rq_nowait/blk_execute_rq call has completed that the rq->bios have been cleaned up.
    bio-integrity: Fix use of bs->bio_integrity_pool after free
    blkcg: relocate root_blkg setting and clearing
    block: Convert kmalloc_node(...GFP_ZERO...) to kzalloc_node(...)
    block: trace all devices plug operation

    Linus Torvalds
     
  • Pull btrfs fixes from Chris Mason:
    "These are mostly bug fixes and a two small performance fixes. The
    most important of the bunch are Josef's fix for a snapshotting
    regression and Mark's update to fix compile problems on arm"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (25 commits)
    Btrfs: create the uuid tree on remount rw
    btrfs: change extent-same to copy entire argument struct
    Btrfs: dir_inode_operations should use btrfs_update_time also
    btrfs: Add btrfs: prefix to kernel log output
    btrfs: refuse to remount read-write after abort
    Btrfs: btrfs_ioctl_default_subvol: Revert back to toplevel subvolume when arg is 0
    Btrfs: don't leak transaction in btrfs_sync_file()
    Btrfs: add the missing mutex unlock in write_all_supers()
    Btrfs: iput inode on allocation failure
    Btrfs: remove space_info->reservation_progress
    Btrfs: kill delay_iput arg to the wait_ordered functions
    Btrfs: fix worst case calculator for space usage
    Revert "Btrfs: rework the overcommit logic to be based on the total size"
    Btrfs: improve replacing nocow extents
    Btrfs: drop dir i_size when adding new names on replay
    Btrfs: replay dir_index items before other items
    Btrfs: check roots last log commit when checking if an inode has been logged
    Btrfs: actually log directory we are fsync()'ing
    Btrfs: actually limit the size of delalloc range
    Btrfs: allocate the free space by the existed max extent size when ENOSPC
    ...

    Linus Torvalds
     
  • 'samples' is 64bit operant, but do_div() second parameter is 32.
    do_div silently truncates high 32 bits and calculated result
    is invalid.

    In case if low 32bit of 'samples' are zeros then do_div() produces
    kernel crash.

    Signed-off-by: Anatol Pomozov
    Acked-by: Tejun Heo
    Signed-off-by: Jens Axboe

    Anatol Pomozov
     

22 Sep, 2013

3 commits

  • …/jic23/iio into staging-linus

    Jonathan writes:

    First round of IIO fixes for 3.12

    A series of wrong 'struct dev' assumptions in suspend/resume callbacks
    following on from this issue being identified in a new driver review.
    One to watch out for in future.

    A number of driver specific fixes
    1) at91 - fix a overflow in clock rate computation
    2) dummy - Kconfig dependency issue
    3) isl29018 - uninitialized value
    4) hmc5843 - measurement conversion bug introduced by recent cleanup.
    5) ade7854-spi - wrong return value.

    Some IIO core fixes
    1) Wrong value picked up for event code creation for a modified channel
    2) A null dereference on failure to initialize a buffer after no buffer has
    been in use, when using the available_scan_masks approach.
    3) Sampling not stopped when a device is removed. Effects forced removal
    such as hot unplugging.
    4) Prevent device going away if a chrdev is still open in userspace.
    5) Prevent race on chardev opening and device being freed.
    6) Add a missing iio_buffer_init in the call back buffer.

    These last few are the first part of a set from Lars-Peter Clausen who
    has been taking a closer look at our removal paths and buffer handling
    than anyone has for quite some time.

    Greg Kroah-Hartman
     
  • Pull NFS client bugfix from Trond Myklebust:
    "Fix a regression due to incorrect sharing of gss auth caches"

    * tag 'nfs-for-3.12-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    RPCSEC_GSS: fix crash on destroying gss auth

    Linus Torvalds
     
  • Adding the number of bios in a remapped request to 'block_rq_remap'
    tracepoint.

    Request remapper clones bios in a request to track the completion
    status of each bio. So the number of bios can be useful information
    for investigation.

    Related discussions:
    http://www.redhat.com/archives/dm-devel/2013-August/msg00084.html
    http://www.redhat.com/archives/dm-devel/2013-September/msg00024.html

    Signed-off-by: Jun'ichi Nomura
    Acked-by: Mike Snitzer
    Cc: Jens Axboe
    Signed-off-by: Jens Axboe

    Jun'ichi Nomura
     

21 Sep, 2013

11 commits

  • Users have been complaining of the uuid tree stuff warning that there is no uuid
    root when trying to do snapshot operations. This is because if you mount -o ro
    we will not create the uuid tree. But then if you mount -o rw,remount we will
    still not create it and then any subsequent snapshot/subvol operations you try
    to do will fail gloriously. Fix this by creating the uuid_root on remount rw if
    it was not already there. Thanks,

    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Josef Bacik
     
  • btrfs_ioctl_file_extent_same() uses __put_user_unaligned() to copy some data
    back to it's argument struct. Unfortunately, not all architectures provide
    __put_user_unaligned(), so compiles break on them if btrfs is selected.

    Instead, just copy the whole struct in / out at the start and end of
    operations, respectively.

    Signed-off-by: Mark Fasheh
    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Mark Fasheh
     
  • Commit 2bc5565286121d2a77ccd728eb3484dff2035b58 (Btrfs: don't update atime on
    RO subvolumes) ensures that the access time of an inode is not updated when
    the inode lives in a read-only subvolume.
    However, if a directory on a read-only subvolume is accessed, the atime is
    updated. This results in a write operation to a read-only subvolume. I
    believe that access times should never be updated on read-only subvolumes.

    To reproduce:

    # mkfs.btrfs -f /dev/dm-3
    (...)
    # mount /dev/dm-3 /mnt
    # btrfs subvol create /mnt/sub
    Create subvolume '/mnt/sub'
    # mkdir /mnt/sub/dir
    # echo "abc" > /mnt/sub/dir/file
    # btrfs subvol snapshot -r /mnt/sub /mnt/rosnap
    Create a readonly snapshot of '/mnt/sub' in '/mnt/rosnap'
    # stat /mnt/rosnap/dir
    File: `/mnt/rosnap/dir'
    Size: 8 Blocks: 0 IO Block: 4096 directory
    Device: 16h/22d Inode: 257 Links: 1
    Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2013-09-11 07:21:49.389157126 -0400
    Modify: 2013-09-11 07:22:02.330156079 -0400
    Change: 2013-09-11 07:22:02.330156079 -0400
    # ls /mnt/rosnap/dir
    file
    # stat /mnt/rosnap/dir
    File: `/mnt/rosnap/dir'
    Size: 8 Blocks: 0 IO Block: 4096 directory
    Device: 16h/22d Inode: 257 Links: 1
    Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2013-09-11 07:22:56.797151670 -0400
    Modify: 2013-09-11 07:22:02.330156079 -0400
    Change: 2013-09-11 07:22:02.330156079 -0400

    Reported-by: Koen De Wit
    Signed-off-by: Guangyu Sun
    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Guangyu Sun
     
  • The kernel log entries for device label %s and device fsid %pU
    are missing the btrfs: prefix. Add those here.

    Signed-off-by: Frank Holton
    Reviewed-by: David Sterba
    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Frank Holton
     
  • It's still possible to flip the filesystem into RW mode after it's
    remounted RO due to an abort. There are lots of places that check for
    the superblock error bit and will not write data, but we should not let
    the filesystem appear read-write.

    Signed-off-by: David Sterba
    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    David Sterba
     
  • This patch makes it possible to set BTRFS_FS_TREE_OBJECTID as the default
    subvolume by passing a subvolume id of 0.

    Signed-off-by: chandan
    Reviewed-by: David Sterba
    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    chandan
     
  • In btrfs_sync_file(), if the call to btrfs_log_dentry_safe() returns
    a negative error (for e.g. -ENOMEM via btrfs_log_inode()), we would
    return without ending/freeing the transaction.

    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Filipe David Borba Manana
     
  • The BUG() was replaced by btrfs_error() and return -EIO with the
    patch "get rid of one BUG() in write_all_supers()", but the missing
    mutex_unlock() was overlooked.

    The 0-DAY kernel build service from Intel reported the missing
    unlock which was found by the coccinelle tool:

    fs/btrfs/disk-io.c:3422:2-8: preceding lock on line 3374

    Signed-off-by: Stefan Behrens
    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Stefan Behrens
     
  • We don't do the iput when we fail to allocate our delayed delalloc work in
    __start_delalloc_inodes, fix this.

    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Josef Bacik
     
  • This isn't used for anything anymore, just remove it.

    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Josef Bacik
     
  • This is a left over of how we used to wait for ordered extents, which was to
    grab the inode and then run filemap flush on it. However if we have an ordered
    extent then we already are holding a ref on the inode, and we just use
    btrfs_start_ordered_extent anyway, so there is no reason to have an extra ref on
    the inode to start work on the ordered extent. Thanks,

    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Josef Bacik