diff -urN reiserfsprogs-3.6.19.orig/fsck/Makefile.am reiserfsprogs-3.6.19/fsck/Makefile.am --- reiserfsprogs-3.6.19.orig/fsck/Makefile.am 2004-02-17 12:35:12.000000000 +0100 +++ reiserfsprogs-3.6.19/fsck/Makefile.am 2008-03-03 17:33:15.111979386 +0100 @@ -7,5 +7,5 @@ man_MANS = reiserfsck.8 EXTRA_DIST = $(man_MANS) -reiserfsck_LDADD = $(top_srcdir)/lib/libmisc.a $(top_srcdir)/reiserfscore/libcore.a +reiserfsck_LDADD = $(top_srcdir)/lib/libmisc.a $(top_srcdir)/reiserfscore/libcore.a -lblkid diff -urN reiserfsprogs-3.6.19.orig/fsck/Makefile.in reiserfsprogs-3.6.19/fsck/Makefile.in --- reiserfsprogs-3.6.19.orig/fsck/Makefile.in 2004-10-13 15:06:12.000000000 +0200 +++ reiserfsprogs-3.6.19/fsck/Makefile.in 2008-03-03 17:33:24.916790765 +0100 @@ -129,7 +129,7 @@ man_MANS = reiserfsck.8 EXTRA_DIST = $(man_MANS) -reiserfsck_LDADD = $(top_srcdir)/lib/libmisc.a $(top_srcdir)/reiserfscore/libcore.a +reiserfsck_LDADD = $(top_srcdir)/lib/libmisc.a $(top_srcdir)/reiserfscore/libcore.a -lblkid subdir = fsck ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff -urN reiserfsprogs-3.6.19.orig/fsck/main.c reiserfsprogs-3.6.19/fsck/main.c --- reiserfsprogs-3.6.19.orig/fsck/main.c 2004-10-07 16:04:08.000000000 +0200 +++ reiserfsprogs-3.6.19/fsck/main.c 2008-03-03 17:35:52.636005287 +0100 @@ -8,6 +8,7 @@ #include <sys/resource.h> #include <sys/mman.h> #include <signal.h> +#include <blkid/blkid.h> extern int screen_width; extern int screen_savebuffer_len; @@ -1191,6 +1192,7 @@ int main (int argc, char * argv []) { char * file_name; + char * devname; struct fsck_data * data; struct rlimit rlim = {RLIM_INFINITY, RLIM_INFINITY}; char *width; @@ -1219,6 +1221,11 @@ data = getmem (sizeof (struct fsck_data)); file_name = parse_options (data, argc, argv); + devname = blkid_get_devname(NULL, file_name, 0); + if (!devname) { + reiserfs_exit(EXIT_OPER, "reiserfsck: Unable to resolve %s", file_name); + } + file_name = devname; if (data->mode != FSCK_AUTO) print_banner ("reiserfsck");