What if we modify this _require_xfs_io_falloc_punch()? To check whether "Hole" is created or not? This seems valid point for checking punch Support.
Thanks & Regards,
Amit Sahrawat
On Thu, Jun 23, 2011 at 4:27 PM, Amit Sahrawat <amit.sahrawat83@xxxxxxxxx> wrote:
This is linked with new feature.. Add punch support, although the code existed before also, but the 'punch' has been specifically handled throughcmd = XFS_IOC_UNRESVP.Also, fallocate is moved out from 'xfs_iops.c' to 'file operations' in xfs_file.c, which handles the case forif (mode & ~(FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE))
return -EOPNOTSUPP;...if(mode & FALLOC_FL_PUNCH_HOLE)
cmd = XFS_IOC_UNRESVSP;...Now, for old kernels, how to make sure that this test case does not execute or return meaningful error? without changing the kernel code it will not return error;Since, FALLOC_FL_KEEP_SIZE this is true and the command work with XFS_IOC_RESVP.Please suggest.Thanks & Regards,Amit Sahrawat
On Thu, Jun 23, 2011 at 12:06 PM, Amit Sahrawat <amit.sahrawat83@xxxxxxxxx> wrote:
Fortunately or Unfortunately I have 2.6.31(x86) and 2.6.35.13(ARM) and both do not support "fpunch". As per your earlier mail - 2.6.35.y does not support "fpunch" so I though of trying on 2.6.31.y.I will check out for the return errors in this condition and will update more on this.Thanks & Regards,Amit Sahrawat
On Thu, Jun 23, 2011 at 11:50 AM, Dave Chinner <david@xxxxxxxxxxxxx> wrote:On Thu, Jun 23, 2011 at 11:21:26AM +0530, Amit Sahrawat wrote:> *
> Hi,
>
> *PLATFORM -- Linux/i686 localhost 2.6.31.5-127.fc12.i686.PAE*
^^^^^^^^^^^
>
> The output as per the command mentioned by you:
> [root@localhost xfstests-2011-05-11]# xfs_io -f -c "truncate 20k" -c "falloc
> 0 20k" -c "pwrite 0k 8k" -c "fs
> ync" -c "pwrite 12k 8k" -c "fsync" -c "fpunch 4k 12k" -c "fiemap -v"
> /media/c/newfile
> wrote 8192/8192 bytes at offset 0
> 8 KiB, 2 ops; 0.0000 sec (434.028 MiB/sec and 111111.1111 ops/sec)
> command "fs
> ync" not found
> wrote 8192/8192 bytes at offset 12288
> 8 KiB, 2 ops; 0.0000 sec (977 MiB/sec and 250000.0000 ops/sec)
> /media/c/newfile:
> * EXT: FILE-OFFSET BLOCK-RANGE TOTAL FLAGS
> 0: [0..15]: 176..191 16 0x0
> 1: [16..23]: 192..199 8 0x800
> 2: [24..39]: 200..215 16 0x1
The fpunch command did not punch the range out.
Amit, once again you're testing on a kernel (2.6.31) that does not
support the punch operation. As I suggested previously, you need to
find out why the fpunch command is not returning an error as that is
root cause of your failures.
_______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs