28 Apr, 2017

1 commit


25 Apr, 2017

1 commit

  • When committing era metadata to disk, it doesn't always save the latest
    spacemap metadata root in superblock. Due to this, metadata is getting
    corrupted sometimes when reopening the device. The correct order of update
    should be, pre-commit (shadows spacemap root), save the spacemap root
    (newly shadowed block) to in-core superblock and then the final commit.

    Cc: stable@vger.kernel.org
    Signed-off-by: Somasundaram Krishnasamy
    Signed-off-by: Mike Snitzer

    Somasundaram Krishnasamy
     

02 Feb, 2017

1 commit

  • We will want to have struct backing_dev_info allocated separately from
    struct request_queue. As the first step add pointer to backing_dev_info
    to request_queue and convert all users touching it. No functional
    changes in this patch.

    Reviewed-by: Christoph Hellwig
    Signed-off-by: Jan Kara
    Signed-off-by: Jens Axboe

    Jan Kara
     

08 Aug, 2016

1 commit

  • Since commit 63a4cc24867d, bio->bi_rw contains flags in the lower
    portion and the op code in the higher portions. This means that
    old code that relies on manually setting bi_rw is most likely
    going to be broken. Instead of letting that brokeness linger,
    rename the member, to force old and out-of-tree code to break
    at compile time instead of at runtime.

    No intended functional changes in this commit.

    Signed-off-by: Jens Axboe

    Jens Axboe
     

08 Jun, 2016

1 commit

  • To avoid confusion between REQ_OP_FLUSH, which is handled by
    request_fn drivers, and upper layers requesting the block layer
    perform a flush sequence along with possibly a WRITE, this patch
    renames REQ_FLUSH to REQ_PREFLUSH.

    Signed-off-by: Mike Christie
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Jens Axboe

    Mike Christie
     

01 Nov, 2015

1 commit


14 Aug, 2015

1 commit

  • As generic_make_request() is now able to handle arbitrarily sized bios,
    it's no longer necessary for each individual block driver to define its
    own ->merge_bvec_fn() callback. Remove every invocation completely.

    Cc: Jens Axboe
    Cc: Lars Ellenberg
    Cc: drbd-user@lists.linbit.com
    Cc: Jiri Kosina
    Cc: Yehuda Sadeh
    Cc: Sage Weil
    Cc: Alex Elder
    Cc: ceph-devel@vger.kernel.org
    Cc: Alasdair Kergon
    Cc: Mike Snitzer
    Cc: dm-devel@redhat.com
    Cc: Neil Brown
    Cc: linux-raid@vger.kernel.org
    Cc: Christoph Hellwig
    Cc: "Martin K. Petersen"
    Acked-by: NeilBrown (for the 'md' bits)
    Acked-by: Mike Snitzer
    Signed-off-by: Kent Overstreet
    [dpark: also remove ->merge_bvec_fn() in dm-thin as well as
    dm-era-target, and resolve merge conflicts]
    Signed-off-by: Dongsu Park
    Signed-off-by: Ming Lin
    Signed-off-by: Jens Axboe

    Kent Overstreet
     

04 Jun, 2014

1 commit


28 Mar, 2014

2 commits

  • In theory copying the space map root can fail, but in practice it never
    does because we're careful to check what size buffer is needed.

    But make certain we're able to copy the space map roots before
    locking the superblock.

    Signed-off-by: Joe Thornber
    Signed-off-by: Mike Snitzer
    Cc: stable@vger.kernel.org # drop dm-era and dm-cache changes as needed

    Joe Thornber
     
  • dm-era is a target that behaves similar to the linear target. In
    addition it keeps track of which blocks were written within a user
    defined period of time called an 'era'. Each era target instance
    maintains the current era as a monotonically increasing 32-bit
    counter.

    Use cases include tracking changed blocks for backup software, and
    partially invalidating the contents of a cache to restore cache
    coherency after rolling back a vendor snapshot.

    dm-era is primarily expected to be paired with the dm-cache target.

    Signed-off-by: Joe Thornber
    Signed-off-by: Mike Snitzer

    Joe Thornber