On Tue, Feb 25, 2014 at 08:15:24PM +0100, Lukas Czerner wrote: > Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> commit message? > @@ -2561,6 +2567,62 @@ punch_f(int opno, long r) > } > > void > +zero_f(int opno, long r) > +{ > +#ifdef FALLOCATE > + int e; > + pathname_t f; > + int fd; > + __int64_t lr; > + off64_t off; > + off64_t len; > + struct stat64 stb; > + int v; > + char st[1024]; [snip] We now have 3 copies of this fallocate code, the only difference between the copies being the mode: > + int mode = FALLOC_FL_ZERO_RANGE; passed into the fallocate function. Please factor. > + > + init_pathname(&f); > + if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) { > + if (v) > + printf("%d/%d: zero range - no filename\n", procid, opno); > + free_pathname(&f); > + return; > + } > + fd = open_path(&f, O_RDWR); > + e = fd < 0 ? errno : 0; while you are there, get rid of the ternary operations and just use if (fd < 0) e = errno; > + check_cwd(); This can go after we've checked for an error on open, which avoids needing to save the errno.... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs