Re: [PATCH parted 1/5] libparted: add ped_device_get_xxx_aligment() functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Note, these patches may apply to master with a couple of lines offset
left and right, as I also have some patches in my local tree to update
parted to keep working with upcoming lvm2 (libdevmapper) changes, I'm still
waiting on testing feedback for these (the libdevmapper) patches before
submitting them.

Regards,

Hans

p.s.

I also plan to backport this set of 5 to libparted-1.9 and add them to the
Fedora packages for F-13.

On 10/28/2009 10:20 PM, Hans de Goede wrote:
Add ped_device_get_minimal_aligment() and ped_device_get_optimal_aligment()
functions to libparted.
---
  include/parted/device.h  |    8 ++++++++
  include/parted/natmath.h |    1 +
  libparted/device.c       |   18 ++++++++++++++++++
  3 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/include/parted/device.h b/include/parted/device.h
index 151305f..31aec86 100644
--- a/include/parted/device.h
+++ b/include/parted/device.h
@@ -92,6 +92,8 @@ struct _PedDevice {
          void*           arch_specific;
  };

+#include<parted/natmath.h>
+
  /**
   * List of functions implementing architecture-specific operations.
   */
@@ -112,6 +114,9 @@ struct _PedDeviceArchOps {
          PedSector (*check) (PedDevice* dev, void* buffer,
                              PedSector start, PedSector count);
          void (*probe_all) ();
+        /* These functions are optional */
+        PedAlignment* (*get_minimal_aligment)(PedDevice* dev);
+        PedAlignment* (*get_optimal_aligment)(PedDevice* dev);
  };

  #include<parted/constraint.h>
@@ -141,6 +146,9 @@ extern PedSector ped_device_check (PedDevice* dev, void* buffer,
                                     PedSector start, PedSector count);
  extern PedConstraint* ped_device_get_constraint (PedDevice* dev);

+extern PedAlignment* ped_device_get_minimal_aligment(PedDevice* dev);
+extern PedAlignment* ped_device_get_optimal_aligment(PedDevice* dev);
+
  /* private stuff ;-) */

  extern void _ped_device_probe (const char* path);
diff --git a/include/parted/natmath.h b/include/parted/natmath.h
index cd7679d..eaa84d1 100644
--- a/include/parted/natmath.h
+++ b/include/parted/natmath.h
@@ -31,6 +31,7 @@ typedef struct _PedAlignment	PedAlignment;

  #include<parted/disk.h>
  #include<parted/device.h>
+#include<parted/geom.h>

  #define PED_MIN(a, b)	( ((a)<(b)) ? (a) : (b) )
  #define PED_MAX(a, b)	( ((a)>(b)) ? (a) : (b) )
diff --git a/libparted/device.c b/libparted/device.c
index 294fec4..6a41512 100644
--- a/libparted/device.c
+++ b/libparted/device.c
@@ -444,5 +444,23 @@ ped_device_get_constraint (PedDevice* dev)
          return c;
  }

+PedAlignment*
+ped_device_get_minimal_aligment(PedDevice* dev)
+{
+        if (ped_architecture->dev_ops->get_minimal_aligment)
+                return ped_architecture->dev_ops->get_minimal_aligment(dev);
+
+        return NULL; /* ped_alignment_none */
+}
+
+PedAlignment*
+ped_device_get_optimal_aligment(PedDevice* dev)
+{
+        if (ped_architecture->dev_ops->get_optimal_aligment)
+                return ped_architecture->dev_ops->get_optimal_aligment(dev);
+
+        return NULL; /* ped_alignment_none */
+}
+
  /** @} */


_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux