From a3800f8f0ee9d039f08c5beb85c0966046e0d12c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulrich=20Sp=C3=B6rlein?= Date: Fri, 8 Oct 2010 15:20:20 +0000 Subject: [PATCH] rm(1): clarify that -P works only when blocks are updated in-place Suggested by: pjd, ivoras, arundel --- bin/rm/rm.1 | 8 ++++---- bin/rm/rm.c | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/rm/rm.1 b/bin/rm/rm.1 index f580d3308843..11bc77d1b2e2 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 d9bd296f50e1..653833abab1b 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)