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

Christoph Hellwig hch at infradead.org
Thu Jan 14 04:20:09 CST 2016


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.



More information about the xfs mailing list