]> git.pld-linux.org Git - packages/kernel.git/blobdiff - kernel-aufs4.patch
- up to 4.4.159
[packages/kernel.git] / kernel-aufs4.patch
index e9aae06cd3760354d56387a32eadf182a0b2c427..31d98cdae1c16b9485c1aab63940b0a2232b45ee 100644 (file)
@@ -35676,9 +35676,9 @@ index abfdd2b..a2e3c43 100644
        /* freeze queue and wait for completion of scheduled requests */
        blk_mq_freeze_queue(lo->lo_queue);
 @@ -617,7 +620,16 @@ static int loop_switch(struct loop_device *lo, struct file *file)
-  */
static int loop_flush(struct loop_device *lo)
- {
+       /* loop not yet configured, no running thread, nothing to flush */
      if (lo->lo_state != Lo_bound)
+               return 0;
 -      return loop_switch(lo, NULL);
 +      return loop_switch(lo, NULL, NULL);
 +}
@@ -35701,7 +35701,7 @@ index abfdd2b..a2e3c43 100644
        struct inode    *inode;
        int             error;
  
-@@ -670,9 +683,16 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
+@@ -670,13 +683,20 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
        file = fget(arg);
        if (!file)
                goto out;
@@ -35712,6 +35712,10 @@ index abfdd2b..a2e3c43 100644
 +              get_file(file);
 +      }
  
+       error = loop_validate_file(file, bdev);
+       if (error)
+               goto out_putf;
        inode = file->f_mapping->host;
        old_file = lo->lo_backing_file;
 +      old_virt_file = lo->lo_backing_virt_file;
@@ -35745,7 +35749,7 @@ index abfdd2b..a2e3c43 100644
  static int loop_set_fd(struct loop_device *lo, fmode_t mode,
                       struct block_device *bdev, unsigned int arg)
  {
--      struct file     *file, *f;
+-      struct file     *file;
 +      struct file     *file, *f, *virt_file = NULL;
        struct inode    *inode;
        struct address_space *mapping;
This page took 0.060683 seconds and 4 git commands to generate.