* /usr/bin/fallocate -v -d -l 2 myfile takes forever @ 2024-01-29 6:44 Cedric Blancher 2024-01-29 7:56 ` Mark Geisert 2024-01-29 8:32 ` Brian Inglis 0 siblings, 2 replies; 9+ messages in thread From: Cedric Blancher @ 2024-01-29 6:44 UTC (permalink / raw) To: cygwin Good morning! rm -f myfile touch myfile /usr/bin/fallocate -v -d -l myfile takes forever with latest Cygwin 3.5 Ced -- Cedric Blancher <cedric.blancher@gmail.com> [https://plus.google.com/u/0/+CedricBlancher/] Institute Pasteur ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /usr/bin/fallocate -v -d -l 2 myfile takes forever 2024-01-29 6:44 /usr/bin/fallocate -v -d -l 2 myfile takes forever Cedric Blancher @ 2024-01-29 7:56 ` Mark Geisert 2024-01-29 9:45 ` Mark Geisert 2024-01-29 8:32 ` Brian Inglis 1 sibling, 1 reply; 9+ messages in thread From: Mark Geisert @ 2024-01-29 7:56 UTC (permalink / raw) To: cygwin On 1/28/2024 10:44 PM, Cedric Blancher via Cygwin wrote: > Good morning! > > rm -f myfile > touch myfile > /usr/bin/fallocate -v -d -l myfile takes forever with latest Cygwin 3.5 ^ length goes here, before filename I believe you need to chattr +S myfile after the 'touch' to make the file sparsifiable. Also, I'm unsure if '-d' makes sense when initially allocating a sparse file. If I leave it off, fallocate does the right thing. I'm separately investigating the 'takes forever' report. ..mark ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /usr/bin/fallocate -v -d -l 2 myfile takes forever 2024-01-29 7:56 ` Mark Geisert @ 2024-01-29 9:45 ` Mark Geisert 2024-03-05 8:46 ` Cedric Blancher 0 siblings, 1 reply; 9+ messages in thread From: Mark Geisert @ 2024-01-29 9:45 UTC (permalink / raw) To: cygwin On 1/28/2024 11:56 PM, Mark Geisert via Cygwin wrote: > On 1/28/2024 10:44 PM, Cedric Blancher via Cygwin wrote: >> Good morning! >> >> rm -f myfile >> touch myfile >> /usr/bin/fallocate -v -d -l myfile takes forever with latest Cygwin 3.5 > ^ length goes here, before filename > > I believe you need to > chattr +S myfile > after the 'touch' to make the file sparsifiable. > > Also, I'm unsure if '-d' makes sense when initially allocating a sparse > file. If I leave it off, fallocate does the right thing. > > I'm separately investigating the 'takes forever' report. It's taking forever because it's in an infinite loop looking for data followed by a hole, which is not present in a new file being created. This is due to the '-d' option being specified. fallocate ought to diagnose this condition rather than looping forever, but here we are. It's possible we have an old fallocate from an old util-linux package. I'll try to investigate this further when I have time. ..mark ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /usr/bin/fallocate -v -d -l 2 myfile takes forever 2024-01-29 9:45 ` Mark Geisert @ 2024-03-05 8:46 ` Cedric Blancher 2024-03-05 10:43 ` Mark Geisert 2024-03-05 11:04 ` Mark Geisert 0 siblings, 2 replies; 9+ messages in thread From: Cedric Blancher @ 2024-03-05 8:46 UTC (permalink / raw) To: cygwin On Mon, 29 Jan 2024 at 10:46, Mark Geisert via Cygwin <cygwin@cygwin.com> wrote: > > On 1/28/2024 11:56 PM, Mark Geisert via Cygwin wrote: > > On 1/28/2024 10:44 PM, Cedric Blancher via Cygwin wrote: > >> Good morning! > >> > >> rm -f myfile > >> touch myfile > >> /usr/bin/fallocate -v -d -l myfile takes forever with latest Cygwin 3.5 > > ^ length goes here, before filename > > > > I believe you need to > > chattr +S myfile > > after the 'touch' to make the file sparsifiable. > > > > Also, I'm unsure if '-d' makes sense when initially allocating a sparse > > file. If I leave it off, fallocate does the right thing. > > > > I'm separately investigating the 'takes forever' report. > > It's taking forever because it's in an infinite loop looking for data > followed by a hole, which is not present in a new file being created. > This is due to the '-d' option being specified. fallocate ought to > diagnose this condition rather than looping forever, but here we are. > > It's possible we have an old fallocate from an old util-linux package. > I'll try to investigate this further when I have time. > Any update on this issue? Ced -- Cedric Blancher <cedric.blancher@gmail.com> [https://plus.google.com/u/0/+CedricBlancher/] Institute Pasteur ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /usr/bin/fallocate -v -d -l 2 myfile takes forever 2024-03-05 8:46 ` Cedric Blancher @ 2024-03-05 10:43 ` Mark Geisert 2024-03-08 9:43 ` Mark Geisert 2024-03-05 11:04 ` Mark Geisert 1 sibling, 1 reply; 9+ messages in thread From: Mark Geisert @ 2024-03-05 10:43 UTC (permalink / raw) To: cygwin On 3/5/2024 12:46 AM, Cedric Blancher via Cygwin wrote: > On Mon, 29 Jan 2024 at 10:46, Mark Geisert via Cygwin <cygwin@cygwin.com> wrote: >> >> On 1/28/2024 11:56 PM, Mark Geisert via Cygwin wrote: >>> On 1/28/2024 10:44 PM, Cedric Blancher via Cygwin wrote: >>>> Good morning! >>>> >>>> rm -f myfile >>>> touch myfile >>>> /usr/bin/fallocate -v -d -l myfile takes forever with latest Cygwin 3.5 >>> ^ length goes here, before filename >>> >>> I believe you need to >>> chattr +S myfile >>> after the 'touch' to make the file sparsifiable. >>> >>> Also, I'm unsure if '-d' makes sense when initially allocating a sparse >>> file. If I leave it off, fallocate does the right thing. >>> >>> I'm separately investigating the 'takes forever' report. >> >> It's taking forever because it's in an infinite loop looking for data >> followed by a hole, which is not present in a new file being created. >> This is due to the '-d' option being specified. fallocate ought to >> diagnose this condition rather than looping forever, but here we are. >> >> It's possible we have an old fallocate from an old util-linux package. >> I'll try to investigate this further when I have time. >> > > Any update on this issue? Thanks for the reminder. I'll check repology to see if we can maybe support a newer util-linux. No guarantees its fallocate is any better, but lets first see if it builds at all. Give me a couple days, please. ..mark ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /usr/bin/fallocate -v -d -l 2 myfile takes forever 2024-03-05 10:43 ` Mark Geisert @ 2024-03-08 9:43 ` Mark Geisert 0 siblings, 0 replies; 9+ messages in thread From: Mark Geisert @ 2024-03-08 9:43 UTC (permalink / raw) To: cygwin On 3/5/2024 2:43 AM, Mark Geisert via Cygwin wrote: > On 3/5/2024 12:46 AM, Cedric Blancher via Cygwin wrote: >> On Mon, 29 Jan 2024 at 10:46, Mark Geisert via Cygwin >> <cygwin@cygwin.com> wrote: >>> >>> On 1/28/2024 11:56 PM, Mark Geisert via Cygwin wrote: >>>> On 1/28/2024 10:44 PM, Cedric Blancher via Cygwin wrote: >>>>> Good morning! >>>>> >>>>> rm -f myfile >>>>> touch myfile >>>>> /usr/bin/fallocate -v -d -l myfile takes forever with latest Cygwin >>>>> 3.5 >>>> ^ length goes here, before filename >>>> >>>> I believe you need to >>>> chattr +S myfile >>>> after the 'touch' to make the file sparsifiable. >>>> >>>> Also, I'm unsure if '-d' makes sense when initially allocating a sparse >>>> file. If I leave it off, fallocate does the right thing. >>>> >>>> I'm separately investigating the 'takes forever' report. >>> >>> It's taking forever because it's in an infinite loop looking for data >>> followed by a hole, which is not present in a new file being created. >>> This is due to the '-d' option being specified. fallocate ought to >>> diagnose this condition rather than looping forever, but here we are. >>> >>> It's possible we have an old fallocate from an old util-linux package. >>> I'll try to investigate this further when I have time. >>> >> >> Any update on this issue? > > Thanks for the reminder. I'll check repology to see if we can maybe > support a newer util-linux. No guarantees its fallocate is any better, > but lets first see if it builds at all. Give me a couple days, please. A newer util-linux package has been uploaded. I find that its fallocate operates identically to the earlier one for your example. So, to summarize, when allocating a brand new file: 1) don't specify '-d' option, 2) after creating file with 'touch', do 'chattr +S' on it, 3) using fallocate on the file without step 2 won't sparsify it. It's easier to see fallocate is working properly by giving it a file size large enough to make a difference by sparsifying. My testing shows that specifying '-l 2m' to create a 2MB file makes the file occupy 64 blocks if it's sparsified, 2048 blocks if it isn't. Use 'stat <file>' to get the block size of the file. 'ls -l' will show 2MB either way. HTH, ..mark ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /usr/bin/fallocate -v -d -l 2 myfile takes forever 2024-03-05 8:46 ` Cedric Blancher 2024-03-05 10:43 ` Mark Geisert @ 2024-03-05 11:04 ` Mark Geisert 1 sibling, 0 replies; 9+ messages in thread From: Mark Geisert @ 2024-03-05 11:04 UTC (permalink / raw) To: cygwin On 3/5/2024 12:46 AM, Cedric Blancher via Cygwin wrote: > On Mon, 29 Jan 2024 at 10:46, Mark Geisert via Cygwin <cygwin@cygwin.com> wrote: >> >> On 1/28/2024 11:56 PM, Mark Geisert via Cygwin wrote: >>> On 1/28/2024 10:44 PM, Cedric Blancher via Cygwin wrote: >>>> Good morning! >>>> >>>> rm -f myfile >>>> touch myfile >>>> /usr/bin/fallocate -v -d -l myfile takes forever with latest Cygwin 3.5 >>> ^ length goes here, before filename >>> >>> I believe you need to >>> chattr +S myfile >>> after the 'touch' to make the file sparsifiable. >>> >>> Also, I'm unsure if '-d' makes sense when initially allocating a sparse >>> file. If I leave it off, fallocate does the right thing. >>> >>> I'm separately investigating the 'takes forever' report. >> >> It's taking forever because it's in an infinite loop looking for data >> followed by a hole, which is not present in a new file being created. >> This is due to the '-d' option being specified. fallocate ought to >> diagnose this condition rather than looping forever, but here we are. >> >> It's possible we have an old fallocate from an old util-linux package. >> I'll try to investigate this further when I have time. >> > > Any update on this issue? Now that I've reviewed the whole email thread, I don't believe we ever received feedback from you on whether leaving off the '-d' option and doing the 'chattr +S' made any difference. ..mark ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /usr/bin/fallocate -v -d -l 2 myfile takes forever 2024-01-29 6:44 /usr/bin/fallocate -v -d -l 2 myfile takes forever Cedric Blancher 2024-01-29 7:56 ` Mark Geisert @ 2024-01-29 8:32 ` Brian Inglis 2024-01-29 10:39 ` Cedric Blancher 1 sibling, 1 reply; 9+ messages in thread From: Brian Inglis @ 2024-01-29 8:32 UTC (permalink / raw) To: cygwin On 2024-01-28 23:44, Cedric Blancher via Cygwin wrote: > rm -f myfile > touch myfile > /usr/bin/fallocate -v -d -l myfile takes forever with latest Cygwin 3.5 It takes much longer without Cygwin 3.5! Your fallocate(1) option -l has no length numeric argument and no -o offset numeric argument to specify the start of the range. Takes no time on my system when used properly: $ uname -srvmo CYGWIN_NT-10.0-19045 3.5.0-0.613.g2c5433e5da82.x86_64 2024-01-24 15:14 UTC x86_64 Cygwin $ smartctl -i /dev/sda smartctl 7.4 2023-08-01 r5530 [x86_64-pc-cygwin-w10-22H2] (cygwin-7.4-1) Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org Warning: Limited functionality due to missing admin rights === START OF INFORMATION SECTION === Model Family: Seagate BarraCuda 3.5 (CMR) Device Model: ST1000DM010-2EP102 Serial Number: W9AAWPXN Firmware Version: CC43 Device is: In smartctl database 7.3/5528 ATA Version is: [No Information Found] Local Time is: Mon Jan 29 01:11:59 2024 MST SMART support is: Available - device has SMART capability. Enabled status cached by OS, trying SMART RETURN STATUS cmd. SMART support is: Enabled $ rm -f myfile; touch myfile; llgo myfile removed 'myfile' -rw-r--r-- 1 0 Jan 29 00:50 myfile $ time fallocate -v -o 0 -l 64MiB myfile; llgo myfile real 0m0.049s user 0m0.000s sys 0m0.015s -rw-r--r-- 1 64M Jan 29 00:50 myfile $ time fallocate -v -o 0 -l 64MiB -d myfile; llgo myfile myfile: 64 MiB (67108864 bytes) converted to sparse holes. real 0m0.146s user 0m0.015s sys 0m0.078s -rw-r--r-- 1 64M Jan 29 00:50 myfile Now perhaps the fallocate(1) design, option checking, diagnostics, defaults, and output, could use some work: using SI multipliers for data sizes (see ls --si!) Perhaps show some useful commands and output that demonstrate your claim, including the actual test release used from `uname -srvmo` and provide some information about your drive (type, speed, size) and system, like output from `cygcheck -hrsv` attached as a text file? -- Take care. Thanks, Brian Inglis Calgary, Alberta, Canada La perfection est atteinte Perfection is achieved non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut -- Antoine de Saint-Exupéry ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /usr/bin/fallocate -v -d -l 2 myfile takes forever 2024-01-29 8:32 ` Brian Inglis @ 2024-01-29 10:39 ` Cedric Blancher 0 siblings, 0 replies; 9+ messages in thread From: Cedric Blancher @ 2024-01-29 10:39 UTC (permalink / raw) To: cygwin; +Cc: Brian Inglis On Mon, 29 Jan 2024 at 09:33, Brian Inglis via Cygwin <cygwin@cygwin.com> wrote: > > On 2024-01-28 23:44, Cedric Blancher via Cygwin wrote: > > rm -f myfile > > touch myfile > > /usr/bin/fallocate -v -d -l myfile takes forever with latest Cygwin 3.5 > > It takes much longer without Cygwin 3.5! > > Your fallocate(1) option -l has no length numeric argument and no -o offset > numeric argument to specify the start of the range. Apologies, I typed this from a screenshot, and made a mistake. The line should be: /usr/bin/fallocate -v -d -l 2 myfile like in the Subject Offset is 0 i this case, because no -o was given Ced -- Cedric Blancher <cedric.blancher@gmail.com> [https://plus.google.com/u/0/+CedricBlancher/] Institute Pasteur ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-03-08 9:43 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-01-29 6:44 /usr/bin/fallocate -v -d -l 2 myfile takes forever Cedric Blancher 2024-01-29 7:56 ` Mark Geisert 2024-01-29 9:45 ` Mark Geisert 2024-03-05 8:46 ` Cedric Blancher 2024-03-05 10:43 ` Mark Geisert 2024-03-08 9:43 ` Mark Geisert 2024-03-05 11:04 ` Mark Geisert 2024-01-29 8:32 ` Brian Inglis 2024-01-29 10:39 ` Cedric Blancher
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).