diff options
author | Jeff Layton <jlayton@redhat.com> | 2012-11-28 14:03:55 -0500 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2012-11-28 14:48:01 -0500 |
commit | bf64ebb2faaba0666068c502353fb0c49c23c756 (patch) | |
tree | 99b865116681fe1382d4656111011d70bff49c01 /utils | |
parent | 5dfc6e239102e3a957c102f0ad194992361b3dc4 (diff) | |
download | nfs-utils-bf64ebb2faaba0666068c502353fb0c49c23c756.tar.gz nfs-utils-bf64ebb2faaba0666068c502353fb0c49c23c756.tar.xz nfs-utils-bf64ebb2faaba0666068c502353fb0c49c23c756.zip |
nfsdcltrack: skip "." and ".." when trying to clean out legacy recdir
readdir picks up these two entries as "normal" dentries, but rmdir'ing
them won't work (and we wouldn't want to remove them anyway).
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'utils')
-rw-r--r-- | utils/nfsdcltrack/nfsdcltrack.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/utils/nfsdcltrack/nfsdcltrack.c b/utils/nfsdcltrack/nfsdcltrack.c index 9801b9c..4334340 100644 --- a/utils/nfsdcltrack/nfsdcltrack.c +++ b/utils/nfsdcltrack/nfsdcltrack.c @@ -379,6 +379,17 @@ cltrack_legacy_gracedone(void) while ((entry = readdir(v4recovery))) { int len; + /* skip "." and ".." */ + if (entry->d_name[0] == '.') { + switch (entry->d_name[1]) { + case '\0': + continue; + case '.': + if (entry->d_name[2] == '\0') + continue; + } + } + /* borrow the clientid blob for this */ len = snprintf((char *)blob, sizeof(blob), "%s/%s", dirname, entry->d_name); |