Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Oct 2010 15:20:20 +0000 (UTC)
From:      Ulrich Spoerlein <uqs@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r213582 - head/bin/rm
Message-ID:  <201010081520.o98FKK4R098027@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: uqs
Date: Fri Oct  8 15:20:20 2010
New Revision: 213582
URL: http://svn.freebsd.org/changeset/base/213582

Log:
  rm(1): clarify that -P works only when blocks are updated in-place
  
  Suggested by:	pjd, ivoras, arundel

Modified:
  head/bin/rm/rm.1
  head/bin/rm/rm.c

Modified: head/bin/rm/rm.1
==============================================================================
--- head/bin/rm/rm.1	Fri Oct  8 15:10:30 2010	(r213581)
+++ head/bin/rm/rm.1	Fri Oct  8 15:20:20 2010	(r213582)
@@ -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.

Modified: head/bin/rm/rm.c
==============================================================================
--- head/bin/rm/rm.c	Fri Oct  8 15:10:30 2010	(r213581)
+++ head/bin/rm/rm.c	Fri Oct  8 15:20:20 2010	(r213582)
@@ -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)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010081520.o98FKK4R098027>