Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
BTRFS in 2.6.35 - Still running out of space
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2936
Location: Bay Area, CA

PostPosted: Mon Aug 02, 2010 7:16 am    Post subject: BTRFS in 2.6.35 - Still running out of space Reply with quote

I thought Edward and Chris's discussion led to some patches which would eliminate this issue. But apparently not. I have 11% free but I can't create a small 1KB file.

Essentially, I created space for 4GB, used 3.5GB with a large file and used about 50MB for small files. Rest is gone! Not sure where.

Code:
# time dd if=/dev/zero of=btrfs-fs.img count=8000 bs=512k oflag=direct
# mkfs.btrfs btrfs-fs.img
# mount -o loop,noatime btrfs-fs.img /mnt/floppy/
# time dd if=/dev/zero of=tempfile count=7000 bs=512k oflag=direct
# df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0             4096000   3595568    500432  88% /mnt/floppy
# time cp -a /var/tmp/ccache/[a-d]* .
cp: writing `./b/1/5ef5578bad49e7b26bb6d7f98ccdb2-3312628': No space left on device
....
# df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0             4096000   3644708    451292  89% /mnt/floppy

# find .|wc -l
3628
Back to top
View user's profile Send private message
Spidey
Apprentice
Apprentice


Joined: 07 Sep 2006
Posts: 269

PostPosted: Tue Aug 03, 2010 4:52 am    Post subject: Reply with quote

Check your inodes, last time I faced this kind of problem, there were plenty of space on my file system, but no inodes.
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2936
Location: Bay Area, CA

PostPosted: Tue Aug 03, 2010 6:23 am    Post subject: Reply with quote

Spidey wrote:
Check your inodes, last time I faced this kind of problem, there were plenty of space on my file system, but no inodes.
That generally holds for most filesystems but not for BTRFS. BTRFS is special in its ENOSPC handling.

It keeps on creating new files if I let the copy go on. Of course, the file sizes are 0. I could raise that file count from 3000 to 8000 (and space used did fall) but all new files are 0 size.
Back to top
View user's profile Send private message
idella4
Retired Dev
Retired Dev


Joined: 09 Jun 2006
Posts: 1600
Location: Australia, Perth

PostPosted: Tue Aug 03, 2010 11:49 am    Post subject: Reply with quote

devsk;

I can't explain, but I repeated tour test.

Code:

gentoo64 ~ # time dd if=/dev/zero of=btrfs-fs.img count=8000 bs=512k oflag=direct               
8000+0 records in                                                                               
8000+0 records out                                                                               
4194304000 bytes (4.2 GB) copied, 81.4955 s, 51.5 MB/s                                           

real    1m21.513s
user    0m0.001s
sys     0m0.246s
gentoo64 ~ # mkfs.btrfs btrfs-fs.img

WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

fs created label (null) on btrfs-fs.img
        nodesize 4096 leafsize 4096 sectorsize 4096 size 3.91GB
Btrfs Btrfs v0.19                                             

gentoo64 ~ # mount -o loop,noatime btrfs-fs.img /mnt/ftp/   
gentoo64 ~ # cd /mnt/ftp
gentoo64 ftp # time dd if=/dev/zero of=tempfile count=7000 bs=512k oflag=direct
7000+0 records in                                                             
7000+0 records out                                                             
3670016000 bytes (3.7 GB) copied, 65.248 s, 56.2 MB/s                         

real    1m5.251s
user    0m0.011s
sys     0m2.819s
gentoo64 ftp # df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0             4096000   3588932    507068  88% /mnt/ftp 


so far we're in sync. I don't know what you had in /tmp/ccache, but

Code:

gentoo64 ftp # time cp -a /usr/portage/[a-d]* .

real    2m34.783s
user    0m0.117s
sys     0m2.762s

gentoo64 ftp # ls -id /mnt/ftp
256 /mnt/ftp
gentoo64 ftp # find .|wc -l
46745
gentoo64 ftp # df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0             4096000   3699836    396164  91% /mnt/ftp
gentoo64 ftp # find .|wc -l
46745


So it appears your
Code:
 time cp -a /var/tmp/ccache/[a-d]* .
screwed up somehow. I suspect that's the essence of your query.

Quote:

but I can't create a small 1KB file.


Code:

gentoo64 ftp # echo 'some new text' > new.txt
gentoo64 ftp # ls -ld new.txt
-rw-r--r-- 1 root root 14 Aug  3 19:17 new.txt
gentoo64 ftp # ls -id new.txt
47000 new.txt


It's not 1Kb, but it's a comparison.
I don't know enough about it, but this gentoo & btrfs handles it ok. Does cp have a form of debug output?
I wonder if you re-used dd to copy files it would work ok?
Out of interest,

Quote:

I thought Edward and Chris's discussion led to some patches which would eliminate this issue


What was this issue, whoever Edward and Chris are?
_________________
idella4@aus
Back to top
View user's profile Send private message
py-ro
Veteran
Veteran


Joined: 24 Sep 2002
Posts: 1734
Location: Velbert

PostPosted: Tue Aug 03, 2010 12:41 pm    Post subject: Reply with quote

What says

Code:
btrfs filesystem df


?

Py
Back to top
View user's profile Send private message
idella4
Retired Dev
Retired Dev


Joined: 09 Jun 2006
Posts: 1600
Location: Australia, Perth

PostPosted: Tue Aug 03, 2010 12:48 pm    Post subject: Reply with quote

py-ro,

you might want to modify that
Code:

gentoo64 ~ # btrfs filesystem df
bash: btrfs: command not found
gentoo64 ~ # btrfs / df
bash: btrfs: command not found
gentoo64 ~ # lsmod | grep btrfs
btrfs                 730123  2
libcrc32c               1680  1 btrfs

and I don't know what it should be.

in preference to making another reply, which won't help matters, re the following post;
edit:

Code:

gentoo64 ~ # emerge -s btrfs
Searching...
[ Results for search key : btrfs ]
[ Applications found : 1 ]

*  sys-fs/btrfs-progs
      Latest version available: 0.19
      Latest version installed: 0.19
      Size of files: 115 kB
            ......................
gentoo64 ~ # chroot /mnt/genny
gentoo64 / # emerge -s btrfs
Searching...
[ Results for search key : btrfs ]
[ Applications found : 1 ]

*  sys-fs/btrfs-progs
      Latest version available: 0.19
      Latest version installed: [ Not Installed ]
      Size of files: 115 kB
         ..........................

If there is, I don't think it's a gentoo ebuild.
_________________
idella4@aus


Last edited by idella4 on Tue Aug 03, 2010 2:50 pm; edited 2 times in total
Back to top
View user's profile Send private message
py-ro
Veteran
Veteran


Joined: 24 Sep 2002
Posts: 1734
Location: Velbert

PostPosted: Tue Aug 03, 2010 12:51 pm    Post subject: Reply with quote

No, get newer btrfs tools. ;)

btrfs is new and all other utils will be deprecated soon.

Py
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2936
Location: Bay Area, CA

PostPosted: Tue Aug 03, 2010 3:51 pm    Post subject: Reply with quote

Code:
# time btrfs filesystem df /mnt/floppy
Data: total=3.50GB, used=3.49GB
Metadata: total=200.00MB, used=11.47MB
System: total=12.00MB, used=4.00KB
As you can see it thinks total is 3.5GB although I allocated 4GB. Moreover, it has 10MB free but 'cp' died with ENOSPC. Numbers just don't add up.

idella4: This is 2.6.35 with 9999 version of btrfs-progs. It is possible that there is a further regression instead of a fix in 2.6.35. Chris is Chris Mason, the BTRFS author, Edward is Edward Shiskin, the current owner/maintainer of Reiser4.

I would love you to repeat the experiment in 2.6.35. I don't think I did something wrong. I picked 'ccache' files are example of numerous small files. 'portage' is same. So, technically, both experiments are same.
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2936
Location: Bay Area, CA

PostPosted: Tue Aug 03, 2010 4:02 pm    Post subject: Reply with quote

BTW: I tried the balance and sync commands repeatedly as well but no avail.

Code:
# time btrfs filesystem balance /mnt/floppy
Back to top
View user's profile Send private message
idella4
Retired Dev
Retired Dev


Joined: 09 Jun 2006
Posts: 1600
Location: Australia, Perth

PostPosted: Tue Aug 03, 2010 4:19 pm    Post subject: Reply with quote

devsk,
sure, no worries.

Code:

gentoo64 / # emerge -s sources
*  sys-kernel/vanilla-sources
      Latest version available: 2.6.35_rc5
      Latest version installed: [ Not Installed ]
      Size of files: 73,804 kB                   
      Homepage:      http://www.kernel.org       
      Description:   Full sources for the Linux kernel
      License:       GPL-2 freedist     


Code:

gentoo64 / # time btrfs filesystem balance /mnt/gentoo
bash: btrfs: command not found


Did you get the source version 9999 from the btrfs website?
You'll have to give me the time to acquire and compile a kernel, on its way.
Oh wow, its finished installing already. Shouldn't be too long
_________________
idella4@aus
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2936
Location: Bay Area, CA

PostPosted: Tue Aug 03, 2010 4:34 pm    Post subject: Reply with quote

idella4 wrote:
devsk,
sure, no worries.

Code:

gentoo64 / # emerge -s sources
*  sys-kernel/vanilla-sources
      Latest version available: 2.6.35_rc5
      Latest version installed: [ Not Installed ]
      Size of files: 73,804 kB                   
      Homepage:      http://www.kernel.org       
      Description:   Full sources for the Linux kernel
      License:       GPL-2 freedist     


Code:

gentoo64 / # time btrfs filesystem balance /mnt/gentoo
bash: btrfs: command not found


Did you get the source version 9999 from the btrfs website?
You'll have to give me the time to acquire and compile a kernel, on its way.
Oh wow, its finished installing already. Shouldn't be too long
Just add btrfs to /etc/portage/package.keywords like this:
Code:
sys-fs/btrfs-progs                      **
emerge will now get 9999 version if you are running unstable ~amd64 ARCH.
Back to top
View user's profile Send private message
idella4
Retired Dev
Retired Dev


Joined: 09 Jun 2006
Posts: 1600
Location: Australia, Perth

PostPosted: Tue Aug 03, 2010 4:57 pm    Post subject: Reply with quote

yep, that worked. won't be long now. shall put the kernel in place and edit this.

It's compiled but got to tweak it; shouldn't be long
I found it, just adjusting it
_________________
idella4@aus


Last edited by idella4 on Wed Aug 04, 2010 3:48 pm; edited 2 times in total
Back to top
View user's profile Send private message
idella4
Retired Dev
Retired Dev


Joined: 09 Jun 2006
Posts: 1600
Location: Australia, Perth

PostPosted: Tue Aug 03, 2010 6:29 pm    Post subject: Reply with quote

While I'm getting this sorted, can you tell me if you can compile your system file system type as modules and boot up? In mine it only works if the system file system is selected as builtin.

Its almost there. It needs more tweaking to find root, gone to gentoo on sata, recompiling for 32 x86. Won't be long.
Just takes time, shall fix gentoo64 later at leisure which is on an ide. Just quicker to get genny up.

It appears this vanilla kernel is missing driver amd_pata

Code:

idella@genny /usr/src/linux-2.6.35-rc5 $ grep PATA_AMD .config-amd64
idella@genny /usr/src/linux-2.6.35-rc5 $ grep PATA .config-amd64
# CONFIG_PATA_CMD640_PCI is not set
CONFIG_PATA_MPIIX=y
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_PCMCIA is not set
# CONFIG_PATA_RZ1000 is not set
CONFIG_PATA_LEGACY=m


Here's a test. Do you know how to patch this vanilla kernel with the modules to support the pata_amd?

I am in

Code:

genny ~ # uname -r
2.6.35-rc5


So.

Code:

genny ~ # time dd if=/dev/zero of=btrfs-fs.img count=8000 bs=512k oflag=direct
8000+0 records in
8000+0 records out
4194304000 bytes (4.2 GB) copied, 77.7159 s, 54.0 MB/s

real    1m17.717s
user    0m0.010s
sys     0m13.454s
genny ~ # mkfs.btrfs btrfs-fs.img

WARNING! - Btrfs v0.19-16-g075587c-dirty IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

fs created label (null) on btrfs-fs.img
        nodesize 4096 leafsize 4096 sectorsize 4096 size 3.91GB
Btrfs v0.19-16-g075587c-dirty
genny ~ # mount -o loop,noatime btrfs-fs.img /mnt/ftp/
genny ~ # cd /mnt/ftp
genny ftp # time dd if=/dev/zero of=tempfile count=7000 bs=512k oflag=direct
7000+0 records in
7000+0 records out
3670016000 bytes (3.7 GB) copied, 84.7944 s, 43.3 MB/s

real    1m24.802s
user    0m0.008s
sys     0m2.710s
genny ftp # df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0             4096000   3595616    500384  88% /mnt/ftp

genny ftp # time cp -a /usr/portage/[a-d]* .

real    1m37.111s
user    0m0.305s
sys     0m13.617s
genny ftp # ls
app-accessibility  app-emacs        app-text      dev-lang    dev-tex
app-admin          app-emulation    app-vim       dev-libs    dev-texlive
app-antivirus      app-forensics    app-xemacs    dev-lisp    dev-tinyos
app-arch           app-i18n         dev-ada       dev-ml      dev-util
app-backup         app-laptop       dev-cpp       dev-perl    dev-vcs
app-benchmarks     app-misc         dev-db        dev-php     distfiles
app-cdr            app-mobilephone  dev-dotnet    dev-php5    tempfile
app-crypt          app-office       dev-embedded  dev-python
app-dicts          app-pda          dev-games     dev-ruby
app-doc            app-portage      dev-haskell   dev-scheme
app-editors        app-shells       dev-java      dev-tcltk
genny ftp # ls -id /mnt/ftp
256 /mnt/ftp
genny ftp # find .|wc -l
47512
genny ftp # df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0             4096000   3805324    290676  93% /mnt/ftp
genny ftp # find .|wc -l
47512
genny ftp # echo 'some new text' > new.txt
genny ftp # ls -ld new.txt
-rw-r--r-- 1 root root 14 Aug  4 11:58 new.txt
genny ftp # ls -id new.txt
47768 new.txt
genny ftp #



and

Code:

genny ~ # time btrfs filesystem balance /mnt/ftp

real    0m3.669s
user    0m0.001s
sys     0m0.242s


So, at my end, I'm curious how to equip this kernel with pata_amd.
At your end, you have an entirely different issue. This gentoo like btrfs quite well.
To try it out, I made my distfiles dir on a btrfs partition.
Your system clearly has something awry, but it's not btrfs itself.
Reading your outcomes, I also immediately thought it was as you said, a regression.

Do you want my kernel config at all?
Cite any other tests, I may as well use this since I've gone to the trouble of establishing it.

woops, here's an addition

Code:

genny ~ # fdisk /dev/sda10
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel                                                                               
Building a new DOS disklabel with disk identifier 0x369790e2.                   
Changes will remain in memory only, until you decide to write them.             
After that, of course, the previous content won't be recoverable.               

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): p

Disk /dev/sda10: 48.2 GB, 48233009664 bytes
255 heads, 63 sectors/track, 5863 cylinders, total 94205097 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x369790e2

genny ~ # btrfs filesystem df /mnt/ftp                                           
Data: total=3.50GB, used=3.45GB                                                 
Metadata: total=200.00MB, used=91.98MB                                           
System: total=12.00MB, used=4.00KB   

genny ftp # btrfs filesystem df /mnt/gentoo
Data: total=28.01GB, used=13.68GB
Metadata: total=4.26GB, used=529.12MB
System: total=12.00MB, used=12.00KB


time cp -a / worked fine, df showed 93%, but the above shows it's misreading /mnt/ftp & /mnt/gentoo like you described. You're the guru, what's next?
_________________
idella4@aus
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2936
Location: Bay Area, CA

PostPosted: Tue Aug 03, 2010 10:45 pm    Post subject: Reply with quote

Whoa! wait. slow down!

Because portage files are smaller than ccache object files, it just needs few more to fail. Try [a-z]* instead of [a-d]*. When I did that, it shows the following when it fails:
Code:
# find .|wc -l
59739

# btrfs filesystem df .
Data: total=3.49GB, used=3.48GB
Metadata: total=208.00MB, used=112.05MB
System: total=12.00MB, used=4.00KB

# df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0             4096000   3880592    215408  95% /mnt/floppy
I have no idea why 3.49GB when my volume is 4GB. Even if I take metadata out, it still should be 3.8GB. Even if I forget that, why stop when 3.48GB is used and 3.49GB is total.

So, you see there is nothing wrong with my system. There is something up with BTRFS still.
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2936
Location: Bay Area, CA

PostPosted: Tue Aug 03, 2010 11:06 pm    Post subject: Reply with quote

I found another gem of a bug:

I deleted the tempfile (3.5GB file). And copied the local folder from /usr/portage/local. Here is the kicker:
Code:
# time cp -a /usr/portage/local/ .
cp: writing `./local/ccache/x32/5/9/1c179b03251ae69c511aa5f50a988a-282393': No space left on device

# cp /usr/lib/libc.a .
cp: cannot create regular file `./libc.a': No space left on device

# df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0             4096000   1568312   2527688  39% /mnt/floppy

# btrfs filesystem df .
Data: total=3.49GB, used=1.12GB
Metadata: total=208.00MB, used=191.92MB
System: total=12.00MB, used=4.00KB
Does anybody not see a serious issue with that picture? I have more than 2GB and I can't create a new file. I have serious reservations against this FS!

PS: This may be an inode issue but I thought BTRFS did not have a limit on number of inodes you can create like ext variety of FSs. Moreover, df -i doesn't show anything useful.

Code:
# df -i .
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/loop0                 0       0       0    -  /mnt/floppy


Trying to free up some files, and its hung on me and I had to ctrl-C out of it. It filled my dmesg with tonnes of

Code:
[43545.427000] ------------[ cut here ]------------
[43545.427000] WARNING: at fs/btrfs/extent-tree.c:3441 btrfs_block_rsv_check+0x10c/0x13f()
[43545.427000] Hardware name: OEM
[43545.427000] Modules linked in: f71882fg pvrusb2 dvb_core cx2341x tveeprom vboxnetadp vboxnetflt vboxdrv snd_seq_oss snd_seq_midi_event snd_seq
snd_seq_device snd_pcm_oss snd_mixer_oss tuner_simple tuner_types uvcvideo usb_storage usblp ohci_hcd tun snd_intel8x0 snd_ac97_codec ac97_bus acp
i_cpufreq mperf cifs fuse coretemp tda9887 tda8290 wm8775 tuner cx25840 v4l2_common videodev v4l1_compat v4l2_compat_ioctl32 snd_hda_codec_realtek
 snd_hda_intel snd_hda_codec snd_pcm ohci1394 nvidia(P) snd_timer i2c_i801 ieee1394 r8169 pcspkr snd snd_page_alloc pata_jmicron ehci_hcd uhci_hcd
 evdev [last unloaded: f71882fg]
[43545.427000] Pid: 19024, comm: rm Tainted: P        W   2.6.35 #1
[43545.427000] Call Trace:
[43545.427000]  [<ffffffff81034994>] ? warn_slowpath_common+0x78/0x8c
[43545.427000]  [<ffffffff8116836e>] ? btrfs_block_rsv_check+0x10c/0x13f
[43545.427000]  [<ffffffff81176ae7>] ? __btrfs_end_transaction+0x9f/0x1a8
[43545.427000]  [<ffffffff8117c8b7>] ? btrfs_delete_inode+0x169/0x184
[43545.427000]  [<ffffffff810ac7e3>] ? generic_delete_inode+0x86/0x104
[43545.427000]  [<ffffffff810a513f>] ? do_unlinkat+0xe6/0x13e
[43545.427000]  [<ffffffff810a74cd>] ? vfs_readdir+0x86/0x9c
[43545.427000]  [<ffffffff81099f78>] ? filp_close+0x5f/0x6a
[43545.427000]  [<ffffffff81001f2b>] ? system_call_fastpath+0x16/0x1b
[43545.427000] ---[ end trace be14a72aca4c094f ]---
[43545.427000] block_rsv size 33554432 reserved 8613888 freed 0 0
[43545.428000] ------------[ cut here ]------------

And it did not delete anything. It did not allow

Code:
# cp /usr/lib/libc.a .
cp: cannot create regular file `./libc.a': No space left on device

Manually deleting a couple of files completed successfully but it did not allow me to copy /usr/lib/libc.a still.

It should not be so easy to break a filesystem like that. Not in a stable kernel.
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2936
Location: Bay Area, CA

PostPosted: Wed Aug 04, 2010 2:27 am    Post subject: Reply with quote

Filed a bug at bugzilla for this: https://bugzilla.kernel.org/show_bug.cgi?id=16508

Let's see what they do.
Back to top
View user's profile Send private message
idella4
Retired Dev
Retired Dev


Joined: 09 Jun 2006
Posts: 1600
Location: Australia, Perth

PostPosted: Wed Aug 04, 2010 7:34 am    Post subject: Reply with quote

yes, I see. I shouldn't have suggested your system had an issue, but that was implied in the added entries which showed the incorrect reading of df.

Out of interest, having established this, I re-ran your test from the bug submission.
I'm interested in following this. Most of it conformed, it missed the big hang at the end.
Just read

Code:

time dd if=/dev/zero of=btrfs-fs.img count=8000 bs=512k oflag=direct

[as before]  sorry, bash ran out of lines, should have copied it as I went along, still gets there
mkfs.btrfs btrfs-fs.img
mount -o loop,noatime btrfs-fs.img /mnt/ftp/
cd /mnt/ftp
time dd if=/dev/zero of=tempfile count=7000 bs=512k oflag=direct
df .

[as before]

time cp -a /usr/portage/[a-x]* .

.....................
cp: cannot create directory `./x11-wm': No space left on device
cp: cannot create directory `./xfce-base': No space left on device
cp: cannot create directory `./xfce-extra': No space left on device

real    3m6.372s
user    0m0.670s
sys     0m23.622s
genny ftp # df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0             4096000   3945628    150372  97% /mnt/ftp
genny ftp # btrfs filesystem df .
Data: total=3.49GB, used=3.48GB
                                                                     [conforms]
Metadata: total=208.00MB, used=146.96MB
System: total=12.00MB, used=4.00KB
genny ftp # find .|wc -l
75680
genny ftp #  \rm tempfile
genny ftp # time cp -a /usr/portage/[a-x]* .
cp: writing `./net-libs/ptlib/ptlib-2.6.5.ebuild': No space left on device
cp: writing `./net-libs/clinkcc/files/clinkcc-1.7.1-gentoo.patch': No space left on device
cp: writing `./net-mail/bincimap/ChangeLog': No space left on device
cp: writing `./net-mail/dovecot/dovecot-1.2.11-r2.ebuild': No space left on device
...................
real    3m7.160s
user    0m0.865s
sys     0m38.630s
genny ftp # df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0             4096000    459388   3636612  12% /mnt/ftp

genny ftp #  btrfs filesystem df .
Data: total=3.49GB, used=67.54MB
Metadata: total=208.00MB, used=190.54MB
System: total=12.00MB, used=4.00KB

genny ftp # df -i .
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/loop0                 0       0       0    -  /mnt/ftp
genny ftp # cp /usr/lib/libc.a .
genny ftp # find .|wc -l
107153
genny ftp # \rm -rf dev-cpp
                                                      [managed it]
genny ftp # df -i .
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/loop0                 0       0       0    -  /mnt/ftp
genny ftp # cp /usr/lib/libc.a .
                                                     [managed it]


Code:

gentoo64 ftp # uname -r
2.6.35-rc5-amd64

gentoo64# time dd if=/dev/zero of=btrfs-fs.img count=8000 bs=512k oflag=direct
gentoo64# mkfs.btrfs btrfs-fs.img
gentoo64# mount -o loop,noatime btrfs-fs.img /mnt/ftp
gentoo64 ftp# cd /mnt/ftp
gentoo64 ftp# time dd if=/dev/zero of=tempfile count=7000 bs=512k oflag=direct
gentoo64 ftp# time cp -a /usr/portage/[a-z]* .
................
cp: cannot create directory `./x11-plugins': No space left on device
cp: cannot create directory `./x11-proto': No space left on device
cp: cannot create directory `./x11-terms': No space left on device
cp: cannot create directory `./x11-themes': No space left on device
cp: cannot create directory `./x11-wm': No space left on device
cp: cannot create directory `./xfce-base': No space left on device
cp: cannot create directory `./xfce-extra': No space left on device

real    4m1.647s
user    0m0.506s
sys     0m10.793s
gentoo64 ftp # df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0             4096000   3942756    153244  97% /mnt/ftp

gentoo64 ftp # btrfs filesystem df .
Data: total=3.49GB, used=3.47GB
Metadata: total=208.00MB, used=146.61MB
System: total=12.00MB, used=4.00KB
gentoo64 ftp # find .|wc -l
75122
gentoo64 ftp #
gentoo64 ftp # \rm tempfile
gentoo64 ftp # time cp -a /usr/portage/[a-x]* .
...............................
cp: cannot create directory `./x11-themes': No space left on device
cp: cannot create directory `./x11-wm': No space left on device
cp: cannot create directory `./xfce-base': No space left on device
cp: cannot create directory `./xfce-extra': No space left on device

real    5m51.850s
user    0m0.669s
sys     0m17.539s
gentoo64 ftp # df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0             4096000    457268   3638732  12% /mnt/ftp
gentoo64 ftp # cp /usr/lib/libc.a .
gentoo64 ftp #
gentoo64 ftp # echo 'some new text more' > new.txt
bash: new.txt: No space left on device
gentoo64 ftp # find .|wc -l
106551
gentoo64 ftp # \rm -rf dev-cpp
gentoo64 ftp #
gentoo64 ftp # df -i .
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/loop0                 0       0       0    -  /mnt/ftp
gentoo64 ftp # cp /usr/lib/libc.a .
gentoo64 ftp #


You could cite it as a confirmation of your submission, bearing in mind the minor diffs;
mine could delete, could copy the /usr/lib/libc.a, but couldn't create new.txt.
Ofcourse it's not good. (I've also submitted bugs, not kernel bugs)
_________________
idella4@aus
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2936
Location: Bay Area, CA

PostPosted: Fri Aug 06, 2010 6:46 pm    Post subject: Reply with quote

I haven't seen any replies to the bug so far. The scenario where the bug happens is a very common scenario if you have large VMs or video files and portage/ccache on the same FS.
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2936
Location: Bay Area, CA

PostPosted: Tue Aug 10, 2010 6:38 pm    Post subject: Reply with quote

Looks like the number of btrfs issues are overwhelming the devs. A quick perusal of the mailing list tells me that there is no respite for devs and they don't have cycles to attend to each bug. Not even the ones which are as serious as ENOSPC with most of the space being free.
Back to top
View user's profile Send private message
idella4
Retired Dev
Retired Dev


Joined: 09 Jun 2006
Posts: 1600
Location: Australia, Perth

PostPosted: Wed Aug 11, 2010 10:18 am    Post subject: Reply with quote

devsk,
I take it that means your bug hasn't been attended to yet?
If it's that flawed, just how did it get to the kernel??? Doesn't make sense.
I've made a btrfs partition to try it out. It has light use so it hasn't done anything wrong, yet.
Looks like it should really be out of the kernel.
_________________
idella4@aus
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2936
Location: Bay Area, CA

PostPosted: Wed Aug 11, 2010 5:09 pm    Post subject: Reply with quote

idella4 wrote:
devsk,
I take it that means your bug hasn't been attended to yet?
If it's that flawed, just how did it get to the kernel??? Doesn't make sense.
I've made a btrfs partition to try it out. It has light use so it hasn't done anything wrong, yet.
Looks like it should really be out of the kernel.
I can tell you getting in the kernel has nothing to do with stability. That's pure politics and social engineering. Reiser4 was much more stable (I thrashed it really well, filled it up large files, small files, millions of files, switched off my system in the middle of copying etc, and I couldn't break the damn thing!) but it never got in. In comparison, BTRFS is like a fussy baby. There is very little you have to do to break it. And funny thing is that a normal user can break it and cause DOS. That's a nightmare for an enterprise Sys Admin!
Back to top
View user's profile Send private message
Matteo Azzali
Retired Dev
Retired Dev


Joined: 23 Sep 2004
Posts: 1133

PostPosted: Sat Aug 14, 2010 2:25 pm    Post subject: Reply with quote

I suppose that some code can get in the kernel if it's maintainable (for example if variables
aren't all called a,b,c,d but follow a decent naming convention, I can assure you that maintaining
obfuscated code is nearly impossible if you'r not an AI) and there's someone willing
to maintain it. (for free!!!!)

Given this, I swear btrfs is still in a quite experimental stage,
kernel-2.6.35 wrote:
Btrfs filesystem (EXPERIMENTAL) Unstable disk format (BTRFS_FS [=n])

and btrfs-progs seems still unreleased in any version after the old 0.19.
(getting "live" code from svn or git may mean a lot of troubles expecially for fs and drivers)

So I think that an enterprise sysadmin should wait some months before btrfs adoption,
just my 2 cents.....
_________________
Every day a new distro comes to birth. Every day a distro "eats" another.
If you're born distro, no matter what, start to run.
---- http://www.linuxprinting.org/ ---- http://tuxmobil.org/
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2936
Location: Bay Area, CA

PostPosted: Mon Aug 23, 2010 6:14 am    Post subject: Reply with quote

Matteo Azzali wrote:
I suppose that some code can get in the kernel if it's maintainable (for example if variables
aren't all called a,b,c,d but follow a decent naming convention, I can assure you that maintaining
obfuscated code is nearly impossible if you'r not an AI) and there's someone willing
to maintain it. (for free!!!!)

Given this, I swear btrfs is still in a quite experimental stage,
kernel-2.6.35 wrote:
Btrfs filesystem (EXPERIMENTAL) Unstable disk format (BTRFS_FS [=n])

and btrfs-progs seems still unreleased in any version after the old 0.19.
(getting "live" code from svn or git may mean a lot of troubles expecially for fs and drivers)

So I think that an enterprise sysadmin should wait some months before btrfs adoption,
just my 2 cents.....
At least couple of years, not months! I was a big BTRFS evangelist but I changed my opinion over the last few months. Mostly because I read BTRFS mailing list once in a while. You should too! Then, you will go nowhere near this FS for quite a while.
Back to top
View user's profile Send private message
idella4
Retired Dev
Retired Dev


Joined: 09 Jun 2006
Posts: 1600
Location: Australia, Perth

PostPosted: Tue Aug 24, 2010 12:14 pm    Post subject: Reply with quote

devsk,
you may not be surprised re this failure. I tried the btrfs on a data partition and used it for gentoo portage and kernels, many Gigs. It failed.
It couldn't fsck its own partition, just aborted.
It couldn't make an image of it with btrfs-image because of the corrupt points it couldn't fix with btrfsck.
Unmounting and cp attempts met with a hang.
btrfsctl didn't do much.
Resorting to dd for the first time to copy the data, the only one that has worked. No compression.
It is experimental.....
_________________
idella4@aus
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum