util-linux/include
Karel Zak 2238214ddc libmount: try absolute target before canonicalize
The path canonicalization is expensive and in many cases unwanted due
to problems with readlink() on unreachable NFS and automounters.

This patch add a possibility to search also by $(CWD)/<path> if the
<path> is relative to reduce number of situation when we convert the
path to the canonical absolute path.

The common use-case:

	# cd /some/long/path
	# umount ./mountpoint

old version:

15543: libmount:      TAB: [0x560a99a54230]: lookup TARGET: './test'
15543: libmount:    CACHE: [0x560a99a54290]: canonicalize path ./test
15543: libmount:    CACHE: [0x560a99a54290]: add entry [ 1] (path): /mnt/test: ./test
15543: libmount:      TAB: [0x560a99a54230]: lookup canonical TARGET: '/mnt/test'
15543: libmount:      CXT: [0x560a99a54050]: umount fs: /mnt/test

new version:

15597: libmount:      TAB: [0xabf230]: lookup TARGET: './test'
15597: libmount:      TAB: [0xabf230]: lookup absolute TARGET: '/mnt/test'
15597: libmount:      CXT: [0xabf050]: umount fs: /mnt/test

Signed-off-by: Karel Zak <kzak@redhat.com>
2016-04-13 12:29:16 +02:00
..
Makemodule.am libblkid: Update for newer bcache superblocks 2016-03-23 10:52:38 +01:00
all-io.h include/all-io: read_all() don't retry on EOF 2015-07-20 11:48:09 +02:00
bitops.h include/bitops: avoid fallbacks for more systems 2016-03-08 14:55:38 +01:00
blkdev.h lib: include sys/stat.h for struct stat 2016-03-07 23:17:12 +01:00
c.h include: move sys/sysmacros.h to c.h 2016-03-08 14:29:45 +01:00
canonicalize.h libmount: try absolute target before canonicalize 2016-04-13 12:29:16 +02:00
carefulputc.h libsmartcols: keep JSON field names lower-case 2015-06-05 11:58:42 +02:00
closestream.h include/closestream: don't wipe errno on EPIPE 2014-03-13 12:41:03 +01:00
color-names.h lib/color: add more ESC seq. 2016-02-17 12:51:15 +01:00
colors.h textual: adjust grammar and punctuation of some messages 2015-08-03 11:18:56 +02:00
cpuset.h include: cleanup copyright headers 2013-01-08 15:10:17 +01:00
crc32.h lib/crc32: don't require to modify GPT header 2015-09-24 09:26:42 +02:00
debug.h include/debug: improve and cleanup 2014-11-03 12:51:17 +01:00
env.h include/env: unify indentation 2012-10-19 15:07:44 +02:00
exec_shell.h unshare,nsenter: spawn shell by default 2013-02-14 14:42:35 +01:00
exitcodes.h include/exitcodes: clean up names, add _EX_ suffix 2012-03-20 11:22:08 +01:00
fileutils.h build-sys: add and use openat build conditionals 2016-03-07 15:37:25 +01:00
idcache.h namei: move icache to lib/ 2015-11-27 13:56:01 +01:00
ismounted.h lib: import whole ismounted.c code from e2fsprogs 2009-10-14 01:13:18 +02:00
linux_version.h lib: add linux_version.{c,h} 2007-11-06 02:40:13 +01:00
list.h include: fix compiler warnings 2014-10-01 12:33:35 +02:00
loopdev.h losetup: support list direct io 2015-11-19 11:27:36 +01:00
mangle.h lib/mangle: cleanup, add unhexmangle 2012-04-26 09:17:44 +02:00
match.h lib,match: split match_fstype() from libmount 2011-11-15 15:17:19 +01:00
mbsalign.h libsmartcols: support multibyte titles, rename wrap to padding 2016-01-22 16:51:59 +01:00
md5.h build-sys: check HAVE_ definitions with #ifdef [smatch scan] 2011-12-02 18:21:46 +01:00
minix.h libblkid: arch independent minix detection 2013-04-15 15:14:33 +02:00
monotonic.h lib/timer: use separate file for timers 2015-03-06 13:17:20 +01:00
namespace.h Implement support for cgroup namespaces 2016-03-02 17:53:42 -08:00
nls.h lib/strutils: circumvent missing localeconv() 2012-06-05 14:54:12 +02:00
optutils.h include/optutils: fix typo 2014-08-28 08:39:54 +02:00
pager.h lib: add pager functionality 2012-04-23 11:52:39 +02:00
pamfail.h login-utils: Enable building util-linux against OpenPAM 2014-12-15 10:16:03 +01:00
path.h lib/path: add path_strdup() 2014-01-06 16:48:13 +01:00
pathnames.h misc: remove path name definitions that are unused 2016-03-09 11:44:05 +01:00
procutils.h lslocks: use stuff from lib/procutils 2015-11-25 14:17:22 +01:00
pt-bsd.h fdisk: (bsd) write/read PT code cleanup 2013-09-16 16:47:06 +02:00
pt-mbr-partnames.h include/pt-mbr-partnames: remove '|' from partition type name 2015-10-09 13:13:59 +02:00
pt-mbr.h fdisk: to recognize Intel Rapid Start hibernation partition 2015-10-09 13:07:31 +02:00
pt-sgi.h fdisk: (sgi) fix unsigned integer overflow [AddressSanitizer] 2014-12-19 09:10:48 +00:00
pt-sun.h libblkid: rename in sun_disklabel for compatibility with fdisk 2013-03-11 13:00:55 +01:00
randutils.h mcookie: use lib/randutils 2014-03-26 10:36:18 +01:00
rpmatch.h rpmatch: use symbolic value when evaluation return codes 2015-02-24 12:42:06 +01:00
setproctitle.h lib: cleanup setproctitle.c 2011-10-26 23:17:15 +02:00
statfs_magic.h libmount: add cgroup2 pseudo FS 2015-12-08 12:16:27 +01:00
strutils.h libmount: improve conversion from root= to the devname 2016-03-15 14:07:34 +01:00
strv.h lib/strv: add strv_extendv() 2015-10-01 14:43:05 +02:00
swapheader.h mkswap: remove unnecessary size check 2014-11-07 13:21:05 +01:00
swapprober.h swapon: split swapon-common.c 2014-09-22 13:16:25 +02:00
sysfs.h lib/sysfs: rename devname functions, cleanup 2015-05-28 12:09:41 +02:00
timer.h lib/timer: use separate file for timers 2015-03-06 13:17:20 +01:00
timeutils.h build-sys: move all around clock_gettime() to monotonic.c 2014-11-19 11:54:47 +01:00
ttyutils.h lib/tty: Pass default width to get_terminal_width() 2016-01-06 12:22:07 +01:00
widechar.h lib/mbsalign: fix warnings when compile without widechars 2016-01-13 10:08:13 +01:00
xalloc.h include/xalloc: add err_oom() 2015-07-20 11:48:09 +02:00