zam, please review this unless vs is back. What is the file size? Is there anything special about the file (holes, etc.)?
Thanks for finding what I assume is a bug. (I wonder if this has been sporadically affecting use of reiser4 with bootloaders.....) Hans Brice Arnould wrote: > Hi > > Two users of a hack I wrote told me that > http://vleu.net/shake/fb_r4.c (also attached with the mail) > returned "FIBMAP=-22, FIGETBSZ=4096" > on some of their files on reiser4 filesystems. > > Does this value of "-22" have a special meaning (would be strange), or is it > a > bug in Reiser4 ? > I can ask them for more details, if you want. > > Thanks > Brice > > ------------------------------------------------------------------------ > > /* > * Non released test software, distributed under GPL-2 licence by > * Brice Arnould (c) 2006 > * You shouldn't use it. > */ > #include <stdio.h> > #include <assert.h> // assert() > #include <errno.h> // errno > #include <error.h> // error() > #include <sys/ioctl.h> // ioctl() > #include <linux/fs.h> // FIBMAP, FIGETBSZ > #include <sys/types.h> // open() > #include <sys/stat.h> // open() > #include <fcntl.h> // open() > > int > main (int argc, char **argv) > { > int fd, blocksize, block = 0; > if (1 != argc) > error (1, 0, "usage : %s FILE", argv[0]); > fd = open (argv[1], O_RDONLY); > assert (0 < fd); > if (-1 == ioctl (fd, FIGETBSZ, &blocksize) > || -1 == ioctl (fd, FIBMAP, &block)) > error (1, 0, "ioctl() failed, are you root ?\n"); > printf ("FIBMAP=%i, FIGETBSZ=%i\n", block, blocksize); > close (fd); > } >
