Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-20 patchless server kernel
  3. LU-684

replace dev_rdonly kernel patch with dm-flakey

XMLWordPrintable

    • Icon: Technical task Technical task
    • Resolution: Fixed
    • Icon: Critical Critical
    • Lustre 2.11.0
    • Lustre 2.4.0, Lustre 2.8.0
    • RHEL6
    • 2
    • 5605

         #define BIO_RDONLY 31 /* device is readonly */
      #define BIO_POOL_IDX(bio) ((bio)->bi_flags >> BIO_POOL_OFFSET)

      void bio_free(struct bio *bio, struct bio_set *bs)
      {
      void *p;

      if (bio_has_allocated_vec(bio))
      bvec_free_bs(bs, bio->bi_io_vec, BIO_POOL_IDX(bio));

      ...
      BIO_POOL_IDX()

      void bvec_free_bs(struct bio_set *bs, struct bio_vec *bv, unsigned int idx)
      {
      BIO_BUG_ON(idx >= BIOVEC_NR_POOLS);

      with RDONLY set BIO_POOL_IDX() can get larger than BIOVEC_NR_POOLS and we hit the assertion.

            green Oleg Drokin
            bzzz Alex Zhuravlev
            Votes:
            0 Vote for this issue
            Watchers:
            20 Start watching this issue

              Created:
              Updated:
              Resolved: