xfs
[Top] [All Lists]

Re: [PATCH, RFC] xfs: batched discard support

To: Jamie Lokier <jamie@xxxxxxxxxxxxx>
Subject: Re: [PATCH, RFC] xfs: batched discard support
From: Douglas Gilbert <dgilbert@xxxxxxxxxxxx>
Date: Wed, 19 Aug 2009 21:38:21 -0400
Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxx>, Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>, Paul Mackerras <paulus@xxxxxxxxx>, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, liml@xxxxxx, jens.axboe@xxxxxxxxxx
In-reply-to: <20090820011004.GC14005@xxxxxxxxxxxxx>
References: <20090816004705.GA7347@xxxxxxxxxxxxx> <20090819203916.GA25296@xxxxxxx> <20090820010552.GA22107@xxxxxxxxxxxxx> <20090820011004.GC14005@xxxxxxxxxxxxx>
Reply-to: dgilbert@xxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.22 (X11/20090608)
Jamie Lokier wrote:
Christoph Hellwig wrote:
So i'm torn about the 'syscall versus ioctl' issue, i'd like to avoid making interface design mistakes and i'd like to solicit some opinions about this. I've attached the perfcounters ioctl patch below.
Only add a syscall if it has _one_ clear defined purpose,
which has kernel-wide meaning.

One clear defined purpose which comes to mind is a "trim" or "punch"
system call, for making holes in files as well as trimming block
devices.  Several other OSes have that capability on files.

I don't remember - does TRIM guarantee the blocks read zeros afterwards?

It would be tidy if it does, as it could have the same meaning with files.

Both ATA and SCSI leave it up to the device to decide
whether reads after a trim on a logical block are
determinate (i.e. zeroes are returned) or indeterminate.

In the case of ATA the IDENTIFY DEVICE data word 69 bit
14 gives the indication. In the case of SCSI the
READ CAPACITY(16) command response TPRZ bit gives the
indication. In both case a value of one indicates
determinate.

Doug Gilbert


<Prev in Thread] Current Thread [Next in Thread>