summaryrefslogtreecommitdiffstats
path: root/src/shared/rm-rf.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* tree-wide: fix typoYu Watanabe2021-08-181-3/+3
|
* rm-rf: refactor rm_rf_children(), split out body of directory iteration loopLennart Poettering2021-07-301-94/+129
| | | | | | This splits out rm_rf_children_inner() as body of the loop. We can use that to implement rm_rf_child() for deleting one specific entry in a directory.
* basic,shared: move a bunch of files to src/shared/Zbigniew Jędrzejewski-Szmek2021-06-241-0/+316
| | | | | | | | | | | | The goal is to move everything that requires selinux or smack away from src/basic/. This means that src/basic/label.[ch] must move, which implies btrfs-util.[ch], copy.[ch], and a bunch of other files which form a cluster of internal use. This is just moving text around, so there should be no functional difference. test-blockdev-util is new, because path_is_encrypted() is moved to blockdev-util.c, and so far we didn't have any tests for code there.
* build-sys: split internal basic/ library from shared/Kay Sievers2015-06-111-224/+0
| | | | | | | | | | basic/ can be used by everything cannot use anything outside of basic/ libsystemd/ can use basic/ cannot use shared/ shared/ can use libsystemd/
* path-util: Fix path_is_mount_point for filesMartin Pitt2015-05-291-1/+1
| | | | | | | | | | | | | | | | | | | | Commits 27cc6f166 and f25afeb broke path_is_mount_point() for files (such as /etc/machine-id → /run/machine-id bind mounts) as with the factorization of fd_is_mount_point() we lost the parent directory. We cannot determine that from an fd only as openat(fd, "..") only works for directory fds. Change fd_is_mount_point() to behave like openat(): It now takes a file descriptor of the containing directory, a file name in it, and flags (which can be 0 or AT_SYMLINK_FOLLOW). Unlike name_to_handle_at() or openat(), fstatat() only accepts the inverse flag AT_SYMLINK_NOFOLLOW and complains with EINVAL about AT_SYMLINK_FOLLOW; so we need to transform the flags for that fallback. Adjust rm_rf_children() accordingly (only other caller of fd_is_mount_point() aside from path_is_mount_point()). Add test cases for files, links, and file bind mounts (the latter will only work when running as root). Split out a new test_path_is_mount_point() test case function as it got significantly larger now.
* btrfs: support recursively removing btrfs snapshotsLennart Poettering2015-04-061-9/+22
|
* rm-rf: add support for recursively removing btrfs subvolumesLennart Poettering2015-04-061-1/+26
|
* rm-rf: never cross mount pointsLennart Poettering2015-04-061-2/+15
|
* util: rework rm_rf() logicLennart Poettering2015-04-061-0/+173
- Move to its own file rm-rf.c - Change parameters into a single flags parameter - Remove "honour sticky" logic, it's unused these days