Re: Identifying sparse files using getattrlist()
site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=n48mfj4cSLA1fdl2Qxn36frQ60Hfsjlkix55JJLGyl8=; b=qHNGpRsKDk889Get76KXOewAP4C1exIEKMvysxFcRopYQQPloeu6J+5zhE+PAUIvS4 +JRKjCsAVuJQ4mMi6GW8fkFRipwzNMadFkSjq3PA6VChnrakoh6wzZDM7hYE/pvNG7jp xzbUcYaVWj++h1SyhwbTxRC3OMzufMjYXmwW0= Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=qrQdsYgMLZzuy9rtBxQlBxYocA12DC4vywP9nTMYerWcNCI7dRx8XRVgIfJ88uHMzj selp4mS5waYFuGx+xpjTJ/m4t2+OfOpWaWCtie+yfvLfrjxJCJUQucz0QSqRi6DB/O+l Q1wiI4e8EGU03oaHi4a9jQopVeAcQaQ7UvjrE= Why the hard coded value 512 ? To find the real size of the file I tried this : RealSize = st_blocks * st_blksize; st_blksize returned was 4096 And the real size far execeeded the stat size (should be the opposite for sparse files) Thanks On Tue, Nov 3, 2009 at 9:25 PM, Peter O'Gorman <peter@pogma.com> wrote:
On 11/03/2009 09:35 AM, rohan a wrote:
Hello All,
Please help me. Need it urgently.
I think you should just be using stat(2) and comparing st_size with st_blocks*512.
But UFS seems to have gone away, so I was unable to create a UFS disk image to check.
Peter
Thanks
On Tue, Nov 3, 2009 at 4:34 PM, rohan a<info1686@gmail.com> wrote:
When I use # mkfile -nv 4g sparse on a 7GB Apple_UFS partition
df -k gives me this :
#df -k Filesystem 1024-blocks Used Available Capacity Mounted on /dev/disk2s3 7390568 40 7021000 1% /Volumes/UFSVolume
This indicates that the file created is sparse since it shows Capacity as 1%
On Tue, Nov 3, 2009 at 4:27 PM, Alastair Houghton <alastair@alastairs-place.net> wrote:
On 2 Nov 2009, at 13:37, rohan a wrote:
I am trying to identify if a particular file is a sparse file using getattrlist()
I am using this : attrList.fileattr = ATTR_FILE_TOTALSIZE | ATTR_FILE_ALLOCSIZE;
According to the man page if ATTR_FILE_ALLOCSIZE< ATTR_FILE_TOTALSIZE the file is a sparse file.
I created the sparse file using dd #dd if=/dev/zero of=sparse-file bs=1 count=0 seek=3g
However, both AllocSize and TotalSize are returning the same size while actually AllocSize< TotalSize
I am using UFS
Does Apple UFS even support sparse files? Remember, UFS is a name used by a fair number of totally different and usually incompatible filesystems. I haven't really ever bothered investigating exactly what Apple's UFS can and can't do... indeed, I've always had the impression that it was only really present for the benefit of old-time NeXT users who might have compatible filesystems floating around already.
-- Peter O'Gorman http://pogma.com
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com
participants (1)
-
rohan a