file preallocation without unwritten flag being set

p v pvlogin at yahoo.com
Tue May 12 18:02:05 CDT 2009



Hello,

I need to create large files fast without initializing them - in the past I used these steps -

mkfs -t xfs -f -d unwritten=0 /dev/sda1
mount -t xfs -o noatime /dev/sda1 /hay
touch /hay/foo
xfs_io /hay/foo
xfs_io> resvsp 0 1024g
xfs_io> quit
ls -i /hay/foo
131 /hay/foo
umount /hay
xfs_db -x /dev/sda1
xfs_db> inode 131
xfs_db> write core.size 1099511627776
core.size = 1099511627776
xfs_db> q

But unwritten=0 is failing as unrecognized option now (was it deprecated????) so I tried to clear the unwritten extent flag directly -

xfs_db> a u.bmbt.ptrs[1]
xfs_db> write recs[1].extentflag 0
recs[1].extentflag = 1
xfs_db> 

It just won't change to 0 - any way to do this? Or is there any straightforward way to preallocate a large file and set it's file size without the unwritten flags being turned on?

Thanks

Peter Vajgel



      




More information about the xfs mailing list