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

Details

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

    Description

         #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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: