Hello,
On Tue, Jan 25, 2011 at 11:23:29PM -0800, Darrick J. Wong wrote:
As part of migrating the FLUSH/FUA knob to the block layer, remove the support
code for the barrier-related mount options and remove the conditionals around
flushes in favor of always issuing the flush. The block layer will handle
gracefully the situation where a FLUSH or FUA request is issued to a device
that doesn't support it. Modify the option parsing code to print a warning if
someone tries to use the old mount option.
Note: The nobarrier bit in the default mount flags is now useless.
The option is something which users are already quite familiar with.
I think we'll just have to carry this around. What we can do, tho, is
moving the actual control mechanism to block layer -
ie. blkdev_skip_flush() or something like that which ignores flush
requests for the current exclusive opener.
Thanks.
--
tejun
From: Jan Kara <jack@suse.cz> Date: 2011-01-26 10:47:43
Hello,
On Wed 26-01-11 10:36:32, Tejun Heo wrote:
On Tue, Jan 25, 2011 at 11:23:29PM -0800, Darrick J. Wong wrote:
quoted
As part of migrating the FLUSH/FUA knob to the block layer, remove the support
code for the barrier-related mount options and remove the conditionals around
flushes in favor of always issuing the flush. The block layer will handle
gracefully the situation where a FLUSH or FUA request is issued to a device
that doesn't support it. Modify the option parsing code to print a warning if
someone tries to use the old mount option.
Note: The nobarrier bit in the default mount flags is now useless.
The option is something which users are already quite familiar with.
I think we'll just have to carry this around. What we can do, tho, is
moving the actual control mechanism to block layer -
ie. blkdev_skip_flush() or something like that which ignores flush
requests for the current exclusive opener.
Ted should have a final word about this but I believe it's possible to
deprecate the mount options. Maybe with some transition period where
deprecation message is shown but the option actually still works. That
being said I'm not sure what we should do when someone has a disk with two
partitions and one partition is mounted with barriers and another one
without them - sure, one has to think hard to find a sane use case for this
(possibly if user does not care about data after a crash on one of the
partitions, in which case he should probably use nojournal mode) but it
should probably work.
Honza
--
Jan Kara [off-list ref]
SUSE Labs, CR
Hello,
On Wed, Jan 26, 2011 at 11:47:34AM +0100, Jan Kara wrote:
Ted should have a final word about this but I believe it's possible to
deprecate the mount options. Maybe with some transition period where
deprecation message is shown but the option actually still works. That
being said I'm not sure what we should do when someone has a disk with two
partitions and one partition is mounted with barriers and another one
without them - sure, one has to think hard to find a sane use case for this
(possibly if user does not care about data after a crash on one of the
partitions, in which case he should probably use nojournal mode) but it
should probably work.
The policy can be made per-bdev (which maps to per-partition), so I
don't think that's a big problem.
Thanks.
--
tejun
On Tue, Jan 25, 2011 at 11:23:29PM -0800, Darrick J. Wong wrote:
quoted
As part of migrating the FLUSH/FUA knob to the block layer, remove the support
code for the barrier-related mount options and remove the conditionals around
flushes in favor of always issuing the flush. The block layer will handle
gracefully the situation where a FLUSH or FUA request is issued to a device
that doesn't support it. Modify the option parsing code to print a warning if
someone tries to use the old mount option.
Note: The nobarrier bit in the default mount flags is now useless.
The option is something which users are already quite familiar with.
I think we'll just have to carry this around. What we can do, tho, is
moving the actual control mechanism to block layer -
ie. blkdev_skip_flush() or something like that which ignores flush
requests for the current exclusive opener.
Ted should have a final word about this but I believe it's possible to
deprecate the mount options. Maybe with some transition period where
deprecation message is shown but the option actually still works. That
being said I'm not sure what we should do when someone has a disk with two
partitions and one partition is mounted with barriers and another one
without them - sure, one has to think hard to find a sane use case for this
(possibly if user does not care about data after a crash on one of the
partitions, in which case he should probably use nojournal mode) but it
should probably work.
Honza
I would also like to suggest that mount is the right time to change a per file
system behaviour. We have well known paths (add the mount options to /etc/fstab)
and sys admins understand it.
If we have to poke a file, what is the suggested mechanism for doing this?
Another, new script or user space utility that needs to be run at mount time for
each file system?
If we did want to deprecate the "barrier" name, I would leave it in place and
replace it with something meaningful (at mount time!) to users like
"data_safety" and "no_data_safety" modes :)
Ric
Hello,
On Wed, Jan 26, 2011 at 07:16:18AM -0500, Ric Wheeler wrote:
I would also like to suggest that mount is the right time to change
a per file system behaviour. We have well known paths (add the mount
options to /etc/fstab) and sys admins understand it.
If we have to poke a file, what is the suggested mechanism for doing
this? Another, new script or user space utility that needs to be run
at mount time for each file system?
If we did want to deprecate the "barrier" name, I would leave it in
place and replace it with something meaningful (at mount time!) to
users like "data_safety" and "no_data_safety" modes :)
With barrier on by default these days, I don't think it's necessary to
fiddle with it too much. It's not as important as before. Let's
leave it as it is. Barrier, flush, it doesn't really matter how it's
called.
In the long run tho, I think filesystems should just always enable
flush/barrier and the fiddling belongs to the block layer.
Thanks.
--
tejun
Hello,
On Wed 26-01-11 10:36:32, Tejun Heo wrote:
Ted should have a final word about this but I believe it's possible to
deprecate the mount options. Maybe with some transition period where
deprecation message is shown but the option actually still works.
+1 for this from a user.
I'd like to see this moved to blockdev sysfs in the long term.
During the transition period there could be both the old barrier mount
option (with a deprecated warning upon use) and the sysfs knobs.
Flush and FUA would be delivered to disk only if both the barriers are
enabled in the mount options (which is also the default) and the sysfs
are at "noignore" value. Alternatively, the barrier mount option could
affect the sysfs knobs values upon mount. Eventually the barrier mount
option would be removed becoming always-on, leaving only the sysfs knobs.