xfs
[Top] [All Lists]

Re: [PATCH 2/6] libxfs/linux.c: Replace use of ustat by stat

To: Felix Janda <felix.janda@xxxxxxxxx>
Subject: Re: [PATCH 2/6] libxfs/linux.c: Replace use of ustat by stat
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Thu, 14 Jan 2016 02:20:09 -0800
Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20160113174241.GC10942@nyan>
References: <cover.1452627740.git.felix.janda@xxxxxxxxx> <20160112195945.GC568@nyan> <20160113075501.GC21939@xxxxxxxxxxxxx> <20160113174241.GC10942@nyan>
User-agent: Mutt/1.5.24 (2015-08-30)
On Wed, Jan 13, 2016 at 06:42:41PM +0100, Felix Janda wrote:
> Is this really performance relevant?

I'm not entirely sure.  There are systems with giant amounts of mounted
file systems, in which case iterating each of them and requiring
multiple syscalls each might not be a good idea.

> Hmm, so we couldn't we use for linux just something like
> 
> int
> platform_check_ismounted(char *name, char *block, struct stat64 *s, int 
> verbose)
> {
>       int fd = open(block, O_EXCL);
>       int e = errno;
>       
>       if (fd != -1) close(fd);
>       if (e == EBUSY) {
>               if (verbose)
>                       fprintf(stderr, _("%s: %s contains a mounted 
> filesystem\n"), progname, name);
>               return 1;
>       }
> 
>       return 0;

Please give me a couple of days to come up with an idea to use O_EXCL
on Linux and work around it on other platforms in a more integrated way.

<Prev in Thread] Current Thread [Next in Thread>