Hello Matthew,
Thursday, March 22, 2007, 8:07:14 PM, you wrote:
MA> Robert Milkowski wrote:
>> While lsize is the same for both files asize is smaller fr the second
>> one. Why is it? When is is possible? Both file systems have
>> compression turned off and default recordsize. Diff claims both files
>> to be the same.
MA> Metadata (eg, "DMU dnode", and indirect blocks for "ZFS plain file",
MA> which you can see broken out by using more -b's) is always compressed.
MA> Because the metadata is necessarily different (there are different block
MA> pointers, also the object numbers could be allocated differently, though
MA> not in your situation), it can compress different amounts.
MA> So, this is always possible, and in fact likely.
Well, I don't know.
DMU in both cases is so small that it doesn't really matter.
Both are the sime files (diff confirms that) about 1.6GB in size and
the actual on disk size is more than 20% different. That's really a big
difference just for one large file.
zdb -b (or -bbb) doesn't work here (b56):
bash-3.00# zdb -b solaris/d100 809
Dataset solaris/d100 [ZPL], ID 189, cr_txg 779704, 1.64G, 807 objects
bash-3.00# zdb -bbb solaris/d100 809
Dataset solaris/d100 [ZPL], ID 189, cr_txg 779704, 1.64G, 807 objects
bash-3.00# zdb -bbbvvv solaris/d100 809
Dataset solaris/d100 [ZPL], ID 189, cr_txg 779704, 1.64G, 807 objects
bash-3.00# zdb -vvvv solaris/d100 809 >/tmp/a
bash-3.00# zdb -vvvv solaris/d100-copy1 809 >/tmp/b
bash-3.00# cat /tmp/a | wc -l
13070
bash-3.00# cat /tmp/b | wc -l
10295
bash-3.00# tail -10 /tmp/a
64d00000 L0 0:213420000:20000 20000L/20000P F=1 B=831385
64d20000 L0 0:213440000:20000 20000L/20000P F=1 B=831385
64d40000 L0 0:213460000:20000 20000L/20000P F=1 B=831385
64d60000 L0 0:213480000:20000 20000L/20000P F=1 B=831385
64d80000 L0 0:2134a0000:20000 20000L/20000P F=1 B=831385
64da0000 L0 0:2134c0000:20000 20000L/20000P F=1 B=831385
64dc0000 L0 0:ea1c0000:20000 20000L/20000P F=1 B=831388
segment [0000000000000000, 0000000065000000) size 1.58G
bash-3.00# tail -10 /tmp/b
64d00000 L0 0:116a60000:20000 20000L/20000P F=1 B=831417
64d20000 L0 0:116a80000:20000 20000L/20000P F=1 B=831417
64d40000 L0 0:116aa0000:20000 20000L/20000P F=1 B=831417
64d60000 L0 0:116ac0000:20000 20000L/20000P F=1 B=831417
64d80000 L0 0:116ae0000:20000 20000L/20000P F=1 B=831417
64da0000 L0 0:116b00000:20000 20000L/20000P F=1 B=831417
64dc0000 L0 0:116b20000:20000 20000L/20000P F=1 B=831417
segment [0000000014c40000, 0000000026000000) size 276M
bash-3.00#
What's the last line about?
Also only /tmp/a has a Deadlist entries:
Deadlist: 33 entries, 235K (114K/114K comp)
Item 0: 0:191e0ea00:e00 4000L/e00P F=0 B=831102
Item 1: 0:ea1a2000:800 4000L/800P F=0 B=831388
Item 2: 0:191d58000:1000 4000L/1000P F=0 B=831102
Item 3: 0:2507b2200:1200 4000L/1200P F=0 B=831294
Item 4: 0:191e06200:1200 4000L/1200P F=0 B=831102
Item 5: 0:191e07400:1200 4000L/1200P F=0 B=831102
Item 6: 0:250186000:1000 4000L/1000P F=0 B=831294
Item 7: 0:191e0b800:e00 4000L/e00P F=0 B=831102
Item 8: 0:191e0d800:1200 4000L/1200P F=0 B=831102
Item 9: 0:191e03e00:1200 4000L/1200P F=0 B=831102
Item 10: 0:250188000:1000 4000L/1000P F=0 B=831294
Item 11: 0:191e09800:1200 4000L/1200P F=0 B=831102
Item 12: 0:191e10a00:1200 4000L/1200P F=0 B=831102
Item 13: 0:191e02c00:1200 4000L/1200P F=0 B=831102
Item 14: 0:191e05000:1200 4000L/1200P F=0 B=831102
Item 15: 0:191e08600:1200 4000L/1200P F=0 B=831102
Item 16: 0:2507b3400:e00 4000L/e00P F=0 B=831294
Item 17: 0:191d57000:1000 4000L/1000P F=0 B=831102
Item 18: 0:191d56000:1000 4000L/1000P F=0 B=831102
Item 19: 0:250189000:1000 4000L/1000P F=0 B=831294
Item 20: 0:191d59000:1000 4000L/1000P F=0 B=831102
Item 21: 0:191e0f800:1200 4000L/1200P F=0 B=831102
Item 22: 0:191e12e00:1200 4000L/1200P F=0 B=831102
Item 23: 0:191e11c00:1200 4000L/1200P F=0 B=831102
Item 24: 0:191e0aa00:e00 4000L/e00P F=0 B=831102
Item 25: 0:25339a400:e00 4000L/e00P F=0 B=831342
Item 26: 0:ea1a2800:800 4000L/800P F=0 B=831388
Item 27: 0:ea1a1c00:400 4000L/400P F=0 B=831388
Item 28: 0:ea1a3000:400 4000L/400P F=0 B=831388
Item 29: 0:ea1a3400:400 4000L/400P F=0 B=831388
Item 30: 0:ea1a3800:400 4000L/400P F=0 B=831388
Item 31: 0:ea1a3c00:400 4000L/400P F=0 B=831388
Item 32: 0:ea1a4000:200 400L/200P F=0 B=831388
What are those?
And even if that is to be expected (such a big difference in actual
space utilization) something is far from perfect here. Both file
systems are in the same pool and over 20% difference in size on just
one large file is huge - perhaps some algorithms are suboptimal.
--
Best regards,
Robert mailto:[EMAIL PROTECTED]
http://milek.blogspot.com
_______________________________________________
zfs-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss