]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.suse/dm-emulate-blkrrpart-ioctl
Imported linux-2.6.27.39 suse/xen patches.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.suse / dm-emulate-blkrrpart-ioctl
diff --git a/src/patches/suse-2.6.27.31/patches.suse/dm-emulate-blkrrpart-ioctl b/src/patches/suse-2.6.27.31/patches.suse/dm-emulate-blkrrpart-ioctl
deleted file mode 100644 (file)
index 0c5e1dc..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From: Hannes Reinecke <hare@suse.de>
-Subject: Emulate BLKRRPART on device-mapper
-
-Partitions on device-mapper devices are managed by kpartx (if at
-all). So if we were just to send out a 'change' event if someone
-called BLKRRPART on these devices, kpartx will be triggered via udev
-and can manage the partitions accordingly.
-
-Signed-off-by: Hannes Reinecke <hare@suse.de>
-
----
- drivers/md/dm.c |   22 ++++++++++++++--------
- 1 file changed, 14 insertions(+), 8 deletions(-)
-
---- a/drivers/md/dm.c
-+++ b/drivers/md/dm.c
-@@ -333,19 +333,25 @@ static int dm_blk_ioctl(struct inode *in
-       if (!map || !dm_table_get_size(map))
-               goto out;
--      /* We only support devices that have a single target */
--      if (dm_table_get_num_targets(map) != 1)
--              goto out;
--
--      tgt = dm_table_get_target(map, 0);
--
-       if (dm_suspended(md)) {
-               r = -EAGAIN;
-               goto out;
-       }
--      if (tgt->type->ioctl)
--              r = tgt->type->ioctl(tgt, inode, file, cmd, arg);
-+      if (cmd == BLKRRPART) {
-+              /* Emulate Re-read partitions table */
-+              kobject_uevent(&md->disk->dev.kobj, KOBJ_CHANGE);
-+              r = 0;
-+      } else {
-+              /* We only support devices that have a single target */
-+              if (dm_table_get_num_targets(map) != 1)
-+                      goto out;
-+
-+              tgt = dm_table_get_target(map, 0);
-+
-+              if (tgt->type->ioctl)
-+                      r = tgt->type->ioctl(tgt, inode, file, cmd, arg);
-+      }
- out:
-       dm_table_put(map);