Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Mike Looijmans <mike.looijmans@topic.nl>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] license: Improve disk usage
Date: Mon, 15 Sep 2014 16:47:25 +0200	[thread overview]
Message-ID: <5416FBFD.9070406@topic.nl> (raw)
In-Reply-To: <1410790333.14624.45.camel@ted>

On 09/15/2014 04:12 PM, Richard Purdie wrote:
> On Mon, 2014-09-15 at 15:58 +0200, Mike Looijmans wrote:
>> I can probably come up with scenarios where "os.stat(src).st_dev ==
>> os.stat(destdir).st_dev" but os.link will still fail.
>>
>> Less code and does not assume that when src and destdir are on the same
>> device, they can be linked:
>>
>> try:
>>     os.link(src, dst)
>> except:
>>     shutil.copyfile(src, dst)
>
> I agree that is probably easier. I'm curious which scenarios you're
> thinking of though. We do have that device comparison elsewhere in the
> codebase and I copied it mainly as it was how it was done elsewhere...
>

Simplest case is when the underlying filesystem does not support hardlinks.

I admit that chances of that being the case here will be very very small.

It's just that the try/except version will always work on any system, whereas 
the device comparison may fail on some setups. And given the habit of 
programmers to copy these things from other locations, chances are that a 
device comparison will some day be used on the "downloads" directory which is 
FAT on my system.

Also, when the copy fails, the resulting message should be clearer, as the 
"copyfile" call will be in the stacktrace.

Mike.


Met vriendelijke groet / kind regards,

Mike Looijmans

TOPIC Embedded Systems
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: (+31) (0) 499 33 69 79
Telefax:  (+31) (0) 499 33 69 70
E-mail: mike.looijmans@topic.nl
Website: www.topic.nl

Please consider the environment before printing this e-mail

Topic zoekt gedreven (embedded) software specialisten!
http://topic.nl/vacatures/topic-zoekt-software-engineers/



  reply	other threads:[~2014-09-15 14:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-12 15:39 [PATCH] license: Improve disk usage Richard Purdie
2014-09-15 13:58 ` Mike Looijmans
2014-09-15 14:12   ` Richard Purdie
2014-09-15 14:47     ` Mike Looijmans [this message]
2014-09-15 15:03       ` Burton, Ross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5416FBFD.9070406@topic.nl \
    --to=mike.looijmans@topic.nl \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox