Parent Directory
|
Revision Log
| Links to HEAD: | (view) (download) (annotate) |
| Sticky Revision: |
Use Cm macros instead of Ar when referring to a specific memory disk type MFC after: 3 days
Fix a typo and remove Xr's to vn(4) and vnconfig(4) "mandoc -Tlint" complained about the Xr to vnconfig, which was removed in r238202. I am not sure but maybe it's time to do the same to vn(4). MFC after: 2 weeks
Use VOP_ADVISE() with POSIX_FADV_DONTNEED instead of IO_DIRECT to implement not double-caching for reads from vnode-backed md devices. Use VOP_ADVISE() similarly instead of !IO_DIRECT unsimilarly for writes. Add a "cache" option to mdconfig to allow changing the default of not caching. This depends on a recent commit to fix VOP_ADVISE(). A previous version had optimizations for sequential i/o's (merge the i/o's and only uncache for discontiguous i/o's and for full blocks), but optimizations and knowledge of block boundaries belong in VOP_ADVISE(). Read-ahead should also be handled better, by supporting it in md and discarding it in VOP_ADVISE(). POSIX_FADV_DONTNEED is ignored by zfs, but so is IO_DIRECT. POSIX_FADV_DONTNEED works better than IO_DIRECT if it is not ignored, since it only discards from the buffer cache immediately, while IO_DIRECT also discards from the page cache immediately. IO_DIRECT was not used for writes since it was claimed to be too slow, but most of the slowness for writes is from doing them synchronously by default. Non-synchronous writes still deadlock in many cases. IO_DIRECT only has a special implementation for ffs reads with DIRECTIO configured. Otherwise, if it is not ignored than it uses the buffer and page caches normally except for discarding everything after each i/o, and then it has much the same overheads as POSIX_FADV_DONTNEED. The overheads for reading with ffs and DIRECTIO were similar in tests of md. Reviewed by: kib
Add ability to label md(4) devices. This feature comes from the fact that we rely memory-backed md(4) in our build process heavily. However, if the build goes haywire the allocated resources (i.e. swap and memory-backed md(4)'s) need to be purged. It is extremely useful to have ability to attach arbitrary labels to each of the virtual disks so that they can be identified and GC'ed if neecessary. MFC after: 4 weeks Differential Revision: https://reviews.freebsd.org/D10457
Add MD_VERIFY option to enable O_VERIFY in open for vnode type. Add -o [no]verify option to mdconfig (and document in man page.) Implement GEOM attribute MNT::verified to ask md if the backing vnode is verified. Check for MNT::verified in cd9660 mount to flag the mount as MNT_VERIFIED if the underlying device has been verified. Reviewed by: rwatson Approved by: sjg (mentor) Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D2902
Add 'p' postfix to mdconfig(8). MFC after: 1 month Sponsored by: The FreeBSD Foundation
It's 2015, and some people are still trying to use fdisk and then go asking what debug flags to set for GEOM to make it work. Advice them to use gpart(8) instead. Something similar should probably done with disklabel, but I need to rewrite the disklabel examples first. Reviewed by: wblock@ MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3315
Whoops, wrong flag. MFC after: 1 month Sponsored by: The FreeBSD Foundation
Tweak mdconfig(8) manual page, in particular revise the EXAMPLES section. This removes stuff that doesn't really belong there, and simplifies examples for the basic operations. Reviewed by: wblock@ MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3198
use .Mt to mark up email addresses consistently (part1) PR: 191174 Submitted by: Franco Fichtner <franco@lastsummer.de>
multiple: Remove 3rd clause from BSD license where approved by the regents and renumber. This patch skips files in contrib/ and crypto/ Acked by: imp Discussed with: emaste
Add "null" backend to mdconfig(8). This does exactly what the name suggests, and is somewhat useful for benchmarking. MFC after: 1 month No objections from: kib Sponsored by: The FreeBSD Foundation
bump date forgotten in r257165
Document that -a will output the device name when -u is not specified.. when -u is specified it is not... update the docs to say that you can use full device names w/ -u, and update the examples... Submitted by: #vbsdcon MFC after: 3 days
mdoc: remove EOL whitespace.
- Add "-f file" support to listing mode (-l). When a -f option is specified, only md(4) devices which have the specified file as backing store are displayed. - Use MD_NAME instead of "md". - Use _PATH_DEV instead of "/dev/". MFC after: 1 week
Add an example showing the use of gnop(8) to skip over header data. PR: kern/145999 Reviewed by: mjg MFC after: 1 week
Make it possible to resize md(4) devices. Reviewed by: kib Sponsored by: FreeBSD Foundation
The -S option, to specify the sector size, has been usable on all types of memory disks since r135340. Update the man page to reflect this. Noticed by: avg MFC after: 3 days
Remove end of line whitespace.
mdoc: use Po and Pc macros instead of parens. Also avoid starting a line with Ns.
Fix a couple of style issues. Tweak grammar and markup while here. Approved by: hrs (mentor)
Somewhere around the 473rd time I mistyped "mdconfig file" instead of "mdconfig -f file", I decided that it would be easier to make mdconfig DWIM than to teach my fingers to type the correct command line. MFC after: 3 weeks
Use "cylinder" instead of "cyl" for consistency. Reviewed by: phk
Add the possibility to specify "-o force" with "mdconfig -du". Reviewed by: scottl Approved by: rwatson (mentor) Sponsored by: FreeBSD Foundation
Add -v (verbose) option to -l command, to show size and backing store of all md devices at one time. Approved by: phk MFC after: 2 weeks
Every newline should start on it's own line. I didn't do that in the previous commit, so make it happen now. Prodded by: brueffer
Sync with md(4)'s information regarding the swap backend. PR: docs/115721 Submitted by: Stefan Lambrev <stefan.lambrev@moneybookers.com> MFC After: 3 days
Forced commit to note that the previous change was... Reviewed by: ceri
* Expand the example descriptions, fix mdoc-bugs in "(-a and -t vnode are implied)" and reuse it near the cd9660 example. * Spell 'backing store' as two words.
Instead of hardcoding md10 as the device node in the cd9660 example, use a trick submitted by Ruslan. MFC after: 1 day
Add an example which shows how mdconfig(8) can be used to mount an ISO 9660 CD image file. PR: 112691 Submitted by: Warren Block, wblock at wonkity.com MFC after: 3 days
Kris suggested that swap is a better choice as a default than malloc. MFC: 1 week
[Found the original diff I made, see previous commit for other part] Assume '-a' and '-t malloc' flags for '-s <size>' (malloc ramdisk) if not specified. Reviewed by: phk (some time ago) MFC: 1 week
Make attach the default for -f. That way mdconfig -f image works like a charm. Reviewed by: phk (some time ago) MFC: 1 week
Allow to specify device size in bytes. MFC after: 1 week
Bump .Dd, replace missing letter, and prefer to use a verb that matches the option letter. Submitted by: ru Should know better by now: dd
Update the description of -l to reflect reality. After mdconfig.c 1.25, -l without -u only lists the names, so specifying -u does more than just limit the output to one device.
- Make md(4) 64-bit clean. After this change it should be possible to use very big md(4) devices. - Clean up and simplify the code a bit. - Use humanize_number(3) to print size of md(4) devices. - Add 't' suffix which stands for terabyte. - Make '-S' to really work with all types of devices. - Other minor changes.
Mechanically kill hard sentence breaks.
Assorted markup, grammar, and spelling fixes.
Fix a long-standing deadlock issue with vnode backed md(4) devices: On vnode backed md(4) devices over a certain, currently undetermined size relative to the buffer cache our "lemming-syncer" can provoke a buffer starvation which puts the md thread to sleep on wdrain. This generally tends to grind the entire system to a stop because the event that is supposed to wake up the thread will not happen until a fair bit of the piled up I/O requests in the system finish, and since a lot of those are on a md(4) vnode backed device which is currently waiting on wdrain until a fair amount of the piled up ... you get the picture. The cure is to issue all VOP_WRITES on the vnode backing the device with IO_SYNC. In addition to more closely emulating a real disk device with a non-lying write-cache, this makes the writes exempt from rate-limited (there to avoid starving the buffer cache) and consequently prevents the deadlock. Unfortunately performance takes a hit. Add "async" option to give people who know what they are doing the old behaviour.
s/bytes/byte/
Note that geometry can also be specified on vnode backed deviecs.
Warn that big malloc disks are a panic(8) implementation. Submitted by: Colin Percival <cperciva@builder.daemonology.net> (Who should really get his own bit one of these days!) PR: 59988
Add a full example of a file-backed disk creation, I used the Handbook's example. PR: docs/51897 Submitted by: Kevin Oberman <oberman@es.net>
s/disklabel/bsdlabel where needed.
Document the -x and -y options.
Add "-n" argument, which causes mdconfig to simply print the unit number X, rather than mdX, making it easier to script tests that use md devices but don't want to make assumptions about any existing md use (such as in diskless environments).
Add .Xr's to mdmfs(8). Submitted by: Scot W. Hetzel <hetzels@westbend.net>
Add a "-S sectorsize" option to enable Kirk to find a bug :-)
Don't show disklabel in the examples, it is not necessary.
s/filesystem/file system/g as discussed on -developers
Replace extra call to "tunefs" with the equivalent of "newfs -U". Reviewed by: phk
The .Nm utility
mdoc(7) police: removed (now gratuitous) .Xo/.Xc brackets.
Introduce a force option, MD_FORCE, that instructs the driver to bypass some extra anti-foot-shooting measures. Currently, its only effect is to allow detaching a device while it's still open (e.g., mounted). This is useful for testing how the system reacts to a disk suddenly going away, which can happen with some removeable media. At this point, the force option is only checked on detach, so it would've been possible to allow the option to be passed with the MDIOCDETACH operation. This was not done to allow the possibility of having the force flag influence other tests in the future, which may not necessarily deal with detaching the device. Reviewed by: sobomax Approved by: phk
Remove whitespace at EOL.
mdoc(7) police: removed HISTORY info from the .Os call.
mdoc(7) police: add a missing An call.
Make md(4) and mdconfig(8) take over the role of vn(4) and vnconfig(8) entirely as previously advertised. md(4) adopted all assets of vn(4) some time back and has proper devfs support and cloning abilities to boot.
Remove "autounit" from settable options, it's the default unless you specify -u. Spotted by: dcs
Make "md" and "mdctl" macroized parameters. Implement "-l" option to mdconfig which can list one or all md devices. Submitted by: Dima Dorfman <dima@unixfreak.org>
Duh, the version of mdconfig.c I committed came from the wrong machine. Commit the right version, but without the -b option which is too evil for the present. Remove -b and preload from the manpage as well.
Don't specify fragment size, it autosizes from the sectorsize. Remember to set mode 1777 on /tmp Submitted by: mjacob
Mdoc(7)ify.
Add padding space and a version number to the md_ioctl structre for future extension. Add ability to create a preload disk giving an address and a length (suggested by imp) Fix bug relating to very small md(4) devices. Update md.c copyright to reflect the status of code copied from vn.c. (noticed by dillon)
Improve cmdline parsing and messages. Add a rudimentary man-page. (I'm no mdoc wizard, feel free to attack my mistakes and blunders)
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
| ViewVC Help | |
| Powered by ViewVC 1.1.27 |