Re: Copying Data Blocks

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

 



Ok, Let me rephrase what rohit is exactly trying to question.

There is an inode X which has say some N number of data blocks.
Now, through his own kernel module and some changes to the file system,
he wants to create a new inode Y in the FS and physically copy all the
data from the old inode to the new inode.

And release the old inode and its data blocks and update the dentry
with the new inode number.
PS: The file system remains completely frozen in this time.


On Wed, Jan 7, 2009 at 4:02 AM, Om <om.turyx@xxxxxxxxx> wrote:
> Erik Mouw wrote:
>>
>> On Tue, 6 Jan 2009 23:16:14 +0530 "Rohit Sharma" <imreckless@xxxxxxxxx>
>> wrote:
>>>
>>> On Tue, Jan 6, 2009 at 11:09 PM, Manish Katiyar <mkatiyar@xxxxxxxxx>
>>> wrote:
>>>>
>>>> Apart from performance, is there anything else you are worried
>>>> about ?
>>>
>>> Performance is only a bottleneck,
>>> this can be done in user land
>>> but kernel space solution will be more efficient.
>>
>> Hardly more efficient. Your main bottleneck will be IO from/to the
>> device. If you are worried about copying between kernel and userland,
>> you could use the tee(2) and splice(2) system calls. They are relatively
>> new, so your system might not yet have manual pages for them. In that
>> case, see http://linux.die.net/man/2/tee and
>> http://linux.die.net/man/2/splice .
>
> Hm.. that is pretty enlightening...
> Thanks,
> Om.
>
>
> --
> To unsubscribe from this list: send an email with
> "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
> Please read the FAQ at http://kernelnewbies.org/FAQ
>
>



-- 
Regards,
Sandeep.





 	
"To learn is to change. Education is a process that changes the learner."

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