Re: Grow btrfs partition & filesystem backwards

2011-11-09 Thread Chris Mason
On Wed, Nov 09, 2011 at 07:58:44PM +0100, Goffredo Baroncelli wrote:
> On Wednesday, 09 November, 2011 08:36:24 Chris Mason wrote:
> > The only choice for an online operation is to make a new partition in
> > front of the old one and just add that as a second disk in btrfs.
> > 
> > The slow method of shifting the bytes down is probably a better long
> > term choice.
> > 
> > -chris
> 
> Hi Chris,
> 
> does the chunk tree be able to map the sectors "before" ? If so we should 
> only 
> "shift down" the map logical->physical in the chunk tree/device tree.
> 
> The only exception should be the superblock which has to be moved.
> 
> At the mount time we should pass a parameter which set how the data should be 
> moved backward. Then the kernel remap the chunk tree/device tree.
> 
> I don't know if the gains is greater than the work, but from a theoretical 
> point of view, it should be doable..

Agreed, if we wanted to sit down and write a tool, it wouldn't be that
complex.  The only tricky part is maintaining alignment and position of
the super blocks.

-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Grow btrfs partition & filesystem backwards

2011-11-09 Thread Goffredo Baroncelli
On Wednesday, 09 November, 2011 08:36:24 Chris Mason wrote:
> The only choice for an online operation is to make a new partition in
> front of the old one and just add that as a second disk in btrfs.
> 
> The slow method of shifting the bytes down is probably a better long
> term choice.
> 
> -chris

Hi Chris,

does the chunk tree be able to map the sectors "before" ? If so we should only 
"shift down" the map logical->physical in the chunk tree/device tree.

The only exception should be the superblock which has to be moved.

At the mount time we should pass a parameter which set how the data should be 
moved backward. Then the kernel remap the chunk tree/device tree.

I don't know if the gains is greater than the work, but from a theoretical 
point of view, it should be doable..



> 
> On Wed, Nov 09, 2011 at 06:40:06AM -0600, Billy Crook wrote:
> > I think the biggest point of contention is that with all the stuff
> > going on in the background in btrfs, its difficult to be sure that the
> > resize operation has completed.  With grows, you don't have to worry.
> > With shrinks, if you truncate the block device too soon, you will
> > corrupt the filesystem.
> > 
> > 2011/11/9 Ernst Sjöstrand :
> > > Gparted can do that, it just takes a very long time because it moves
> > > everything back first.
> > > 
> > > Regards
> > > //Ernst
> > > 
> > > On Wed, Nov 9, 2011 at 05:23, Jordan Windsor  wrote:
> > >> Hello,
> > >> I was wondering how I would go about growing a btrfs filesystem
> > >> backwards, I don't have any space to store the files temporally,
> > >> I'd
> > >> need to do it in place.
> > >> Thanks.
> > >> --
> > >> To unsubscribe from this list: send the line "unsubscribe
> > >> linux-btrfs" in the body of a message to
> > >> majord...@vger.kernel.org
> > >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > 
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe
> > > linux-btrfs" in the body of a message to majord...@vger.kernel.org
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-btrfs"
> > in
> > the body of a message to majord...@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
gpg key@ keyserver.linux.it: Goffredo Baroncelli (ghigo) 
Key fingerprint = 4769 7E51 5293 D36C 814E  C054 BF04 F161 3DC5 0512
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Grow btrfs partition & filesystem backwards

2011-11-09 Thread Chris Mason
The only choice for an online operation is to make a new partition in
front of the old one and just add that as a second disk in btrfs.

The slow method of shifting the bytes down is probably a better long
term choice.

-chris

On Wed, Nov 09, 2011 at 06:40:06AM -0600, Billy Crook wrote:
> I think the biggest point of contention is that with all the stuff
> going on in the background in btrfs, its difficult to be sure that the
> resize operation has completed.  With grows, you don't have to worry.
> With shrinks, if you truncate the block device too soon, you will
> corrupt the filesystem.
> 
> 2011/11/9 Ernst Sjöstrand :
> > Gparted can do that, it just takes a very long time because it moves
> > everything back first.
> >
> > Regards
> > //Ernst
> >
> > On Wed, Nov 9, 2011 at 05:23, Jordan Windsor  wrote:
> >> Hello,
> >> I was wondering how I would go about growing a btrfs filesystem
> >> backwards, I don't have any space to store the files temporally, I'd
> >> need to do it in place.
> >> Thanks.
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> >> the body of a message to majord...@vger.kernel.org
> >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >>
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> > the body of a message to majord...@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Grow btrfs partition & filesystem backwards

2011-11-09 Thread Billy Crook
I think the biggest point of contention is that with all the stuff
going on in the background in btrfs, its difficult to be sure that the
resize operation has completed.  With grows, you don't have to worry.
With shrinks, if you truncate the block device too soon, you will
corrupt the filesystem.

2011/11/9 Ernst Sjöstrand :
> Gparted can do that, it just takes a very long time because it moves
> everything back first.
>
> Regards
> //Ernst
>
> On Wed, Nov 9, 2011 at 05:23, Jordan Windsor  wrote:
>> Hello,
>> I was wondering how I would go about growing a btrfs filesystem
>> backwards, I don't have any space to store the files temporally, I'd
>> need to do it in place.
>> Thanks.
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
>> the body of a message to majord...@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Grow btrfs partition & filesystem backwards

2011-11-09 Thread Ernst Sjöstrand
Gparted can do that, it just takes a very long time because it moves
everything back first.

Regards
//Ernst

On Wed, Nov 9, 2011 at 05:23, Jordan Windsor  wrote:
> Hello,
> I was wondering how I would go about growing a btrfs filesystem
> backwards, I don't have any space to store the files temporally, I'd
> need to do it in place.
> Thanks.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html