summaryrefslogtreecommitdiffstats
path: root/bin/rm
diff options
context:
space:
mode:
authoruqs <uqs@FreeBSD.org>2010-10-08 15:20:20 +0000
committeruqs <uqs@FreeBSD.org>2010-10-08 15:20:20 +0000
commitd6b49c1347fb91d001e663fd764814c593b4ad56 (patch)
tree19c0688facd2afc570636d87a26d6aa011f6bd43 /bin/rm
parent8243d099e8f7427fd8954ee63c5dab52760fef4f (diff)
downloadFreeBSD-src-d6b49c1347fb91d001e663fd764814c593b4ad56.zip
FreeBSD-src-d6b49c1347fb91d001e663fd764814c593b4ad56.tar.gz
rm(1): clarify that -P works only when blocks are updated in-place
Suggested by: pjd, ivoras, arundel
Diffstat (limited to 'bin/rm')
-rw-r--r--bin/rm/rm.18
-rw-r--r--bin/rm/rm.c4
2 files changed, 6 insertions, 6 deletions
diff --git a/bin/rm/rm.1 b/bin/rm/rm.1
index f580d33..11bc77d 100644
--- a/bin/rm/rm.1
+++ b/bin/rm/rm.1
@@ -32,7 +32,7 @@
.\" @(#)rm.1 8.5 (Berkeley) 12/5/94
.\" $FreeBSD$
.\"
-.Dd October 3, 2010
+.Dd October 8, 2010
.Dt RM 1
.Os
.Sh NAME
@@ -229,8 +229,8 @@ command appeared in
.Sh BUGS
The
.Fl P
-option assumes that the underlying file system is a fixed-block file
-system.
-UFS is a fixed-block file system, LFS is not.
+option assumes that the underlying file system updates existing blocks
+in-place and does not store new data in a new location.
+This is true for UFS but not for ZFS, which is using a Copy-On-Write strategy.
In addition, only regular files are overwritten, other types of files
are not.
diff --git a/bin/rm/rm.c b/bin/rm/rm.c
index d9bd296..653833a 100644
--- a/bin/rm/rm.c
+++ b/bin/rm/rm.c
@@ -402,8 +402,8 @@ rm_file(char **argv)
* This is a cheap way to *really* delete files. Note that only regular
* files are deleted, directories (and therefore names) will remain.
* Also, this assumes a fixed-block file system (like FFS, or a V7 or a
- * System V file system). In a logging file system, you'll have to have
- * kernel support.
+ * System V file system). In a logging or COW file system, you'll have to
+ * have kernel support.
*/
int
rm_overwrite(char *file, struct stat *sbp)
OpenPOWER on IntegriCloud