From 9582effb8d97e9885e2226205ab02437b51db230 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Sat, 26 May 2012 11:55:12 -0400 Subject: [PATCH] core: Don't checkout symbolic links via hardlink Doing so can easily get us up to the maximum ext4 hardlink count. --- src/libostree/ostree-repo.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c index 22745883..a3ff5565 100644 --- a/src/libostree/ostree-repo.c +++ b/src/libostree/ostree-repo.c @@ -4179,6 +4179,17 @@ find_loose_for_checkout (OstreeRepo *self, } self = self->parent_repo; } + else if (S_ISLNK (stbuf.st_mode)) + { + /* Don't check out symbolic links via hardlink; it's very easy + * to hit the maximum number of hardlinks to an inode this way, + * especially since right now we have a lot of symbolic links to + * busybox. + * + * fs/ext4/ext4.h:#define EXT4_LINK_MAX 65000 + */ + self = self->parent_repo; + } else break;