mkfs.gfs2: Check for symlinks before reporting device contents
(Patch updated to report symlinks similar to Fabio's suggestion)
When using symlinks with mkfs.gfs2 it reports what the symlink points
to instead of the contents of the device, like so:
# ./mkfs.gfs2 -p lock_nolock /dev/vg/test
This will destroy any data on /dev/vg/test.
It appears to contain: symbolic link to `../dm-3'
This patch resolves symlinks before checking the device contents to make
the output more informative:
# ./mkfs.gfs2 -p lock_nolock /dev/vg/test
/dev/vg/test is a symlink to /dev/dm-3
This will destroy any data on /dev/dm-3.
It appears to contain: GFS2 Filesystem (blocksize 4096, lockproto lock_nolock)
if (!sdp->override) {
- printf( _("This will destroy any data on %s.
"), sdp->device_name);
- check_dev_content(sdp->device_name);
+ islnk = is_symlink(sdp->device_name, &absname);
+ printf(_("This will destroy any data on %s.
"), islnk ? absname : sdp->device_name);
+ check_dev_content(islnk ? absname : sdp->device_name);
+ free(absname);
are_you_sure();
}