Re: Problem regarding splitting and merging of bio's

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

 



On Fri, Oct 8, 2010 at 4:32 AM, gaurav mahajan
<gauravmahajan2007@xxxxxxxxx> wrote:
> Hi,
>
> I'm new to kernel coding and I have this doubt. I'm trying to write a
> simple dm-target which will concatenate devices and perform io
> operations on it.

That seems like the normal LVM2 functionality.

You should be able to create a normal LV from multiple VGs in
userspace and then trace the activity to see how it works in the
kernel.

> There are a couple of things that I'm stuck up with......any help is
> appreciated ...
>
> 1. What do the presuspend and postsuspend fields in struct target_type mean ?

Are you familiar with lvm snapshots?  When you snapshot a LV you need
to quiesce the LV prior to performing the snapshot and release after
the snapshot is created.  I believe those relate to that.

fyi LVM2 is the userspace tools that leverage the Device Mapper kernel
capabilities

> 2. A bio request for read is split into no. of bios (here we're also
> splitting bvec's wherever necessary) for reading from different
> devices. For splitting the bvec's we are using the function split_bvec
> (drivers/md/dm.c).
> Now, after read completion, we've multiple bios with data in pages
> pointed by bvec. For satisfying the read request, we want to merge the
> data available in bios (Because we have splitted one bvec from
> original bio into no. of bios).
>
> How can we merge these bvec's into one bvec for original bio?
> Does the function dm_merge_bvec (dm.c) serve the same purpose?

I suspect your are going to have to ask that on the device mapper
mailing list.  It may be called the lvm mailing list.

> Thanks and Regards,
> Gaurav.

Greg

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux