cifsd: move nt time functions to misc.c
authorNamjae Jeon <namjae.jeon@samsung.com>
Wed, 14 Apr 2021 00:24:11 +0000 (09:24 +0900)
committerSteve French <stfrench@microsoft.com>
Tue, 11 May 2021 00:15:43 +0000 (19:15 -0500)
Move nt time functions in netmisc.c to misc.c to remove netmisc.c file.

Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifsd/Makefile
fs/cifsd/misc.c
fs/cifsd/misc.h
fs/cifsd/netmisc.c [deleted file]
fs/cifsd/smb_common.h
fs/cifsd/vfs.c

index a6c03c4..75ce0c6 100644 (file)
@@ -9,5 +9,5 @@ ksmbd-y :=      unicode.o auth.o vfs.o vfs_cache.o server.o buffer_pool.o \
                mgmt/ksmbd_ida.o mgmt/user_config.o mgmt/share_config.o \
                mgmt/tree_connect.o mgmt/user_session.o smb_common.o \
                transport_tcp.o transport_ipc.o smbacl.o smb2pdu.o \
-               smb2ops.o smb2misc.o asn1.o netmisc.o ndr.o
+               smb2ops.o smb2misc.o asn1.o ndr.o
 ksmbd-$(CONFIG_SMB_SERVER_SMBDIRECT) += transport_rdma.o
index cbaaecf..7fa6649 100644 (file)
@@ -292,3 +292,49 @@ char *ksmbd_convert_dir_info_name(struct ksmbd_dir_info *d_info,
        conv[*conv_len + 1] = 0x00;
        return conv;
 }
+
+/*
+ * Convert the NT UTC (based 1601-01-01, in hundred nanosecond units)
+ * into Unix UTC (based 1970-01-01, in seconds).
+ */
+struct timespec64 ksmbd_NTtimeToUnix(__le64 ntutc)
+{
+       struct timespec64 ts;
+
+       /* Subtract the NTFS time offset, then convert to 1s intervals. */
+       s64 t = le64_to_cpu(ntutc) - NTFS_TIME_OFFSET;
+       u64 abs_t;
+
+       /*
+        * Unfortunately can not use normal 64 bit division on 32 bit arch, but
+        * the alternative, do_div, does not work with negative numbers so have
+        * to special case them
+        */
+       if (t < 0) {
+               abs_t = -t;
+               ts.tv_nsec = do_div(abs_t, 10000000) * 100;
+               ts.tv_nsec = -ts.tv_nsec;
+               ts.tv_sec = -abs_t;
+       } else {
+               abs_t = t;
+               ts.tv_nsec = do_div(abs_t, 10000000) * 100;
+               ts.tv_sec = abs_t;
+       }
+
+       return ts;
+}
+
+/* Convert the Unix UTC into NT UTC. */
+inline u64 ksmbd_UnixTimeToNT(struct timespec64 t)
+{
+       /* Convert to 100ns intervals and then add the NTFS time offset. */
+       return (u64)t.tv_sec * 10000000 + t.tv_nsec / 100 + NTFS_TIME_OFFSET;
+}
+
+inline long long ksmbd_systime(void)
+{
+       struct timespec64       ts;
+
+       ktime_get_real_ts64(&ts);
+       return ksmbd_UnixTimeToNT(ts);
+}
index 73b2170..e4bd02a 100644 (file)
@@ -35,4 +35,10 @@ struct ksmbd_dir_info;
 char *ksmbd_convert_dir_info_name(struct ksmbd_dir_info *d_info,
                                  const struct nls_table *local_nls,
                                  int *conv_len);
+
+#define NTFS_TIME_OFFSET       ((u64)(369 * 365 + 89) * 24 * 3600 * 10000000)
+
+struct timespec64 ksmbd_NTtimeToUnix(__le64 ntutc);
+u64 ksmbd_UnixTimeToNT(struct timespec64 t);
+long long ksmbd_systime(void);
 #endif /* __KSMBD_MISC_H__ */
diff --git a/fs/cifsd/netmisc.c b/fs/cifsd/netmisc.c
deleted file mode 100644 (file)
index 8f05243..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
- *   Copyright (c) International Business Machines  Corp., 2002,2008
- *   Author(s): Steve French (sfrench@us.ibm.com)
- *
- *   Error mapping routines from Samba libsmb/errormap.c
- *   Copyright (C) Andrew Tridgell 2001
- */
-
-#include "glob.h"
-#include "nterr.h"
-#include "smb_common.h"
-
-/*
- * Convert the NT UTC (based 1601-01-01, in hundred nanosecond units)
- * into Unix UTC (based 1970-01-01, in seconds).
- */
-struct timespec64 ksmbd_NTtimeToUnix(__le64 ntutc)
-{
-       struct timespec64 ts;
-
-       /* Subtract the NTFS time offset, then convert to 1s intervals. */
-       s64 t = le64_to_cpu(ntutc) - NTFS_TIME_OFFSET;
-       u64 abs_t;
-
-       /*
-        * Unfortunately can not use normal 64 bit division on 32 bit arch, but
-        * the alternative, do_div, does not work with negative numbers so have
-        * to special case them
-        */
-       if (t < 0) {
-               abs_t = -t;
-               ts.tv_nsec = do_div(abs_t, 10000000) * 100;
-               ts.tv_nsec = -ts.tv_nsec;
-               ts.tv_sec = -abs_t;
-       } else {
-               abs_t = t;
-               ts.tv_nsec = do_div(abs_t, 10000000) * 100;
-               ts.tv_sec = abs_t;
-       }
-
-       return ts;
-}
-
-/* Convert the Unix UTC into NT UTC. */
-inline u64 ksmbd_UnixTimeToNT(struct timespec64 t)
-{
-       /* Convert to 100ns intervals and then add the NTFS time offset. */
-       return (u64)t.tv_sec * 10000000 + t.tv_nsec / 100 + NTFS_TIME_OFFSET;
-}
-
-inline long long ksmbd_systime(void)
-{
-       struct timespec64       ts;
-
-       ktime_get_real_ts64(&ts);
-       return ksmbd_UnixTimeToNT(ts);
-}
index 2e171c9..2d7b1c6 100644 (file)
@@ -541,10 +541,4 @@ static inline void inc_rfc1001_len(void *buf, int count)
 {
        be32_add_cpu((__be32 *)buf, count);
 }
-
-#define NTFS_TIME_OFFSET       ((u64)(369 * 365 + 89) * 24 * 3600 * 10000000)
-
-struct timespec64 ksmbd_NTtimeToUnix(__le64 ntutc);
-u64 ksmbd_UnixTimeToNT(struct timespec64 t);
-long long ksmbd_systime(void);
 #endif /* __SMB_COMMON_H__ */
index d8259ca..7c8ab19 100644 (file)
@@ -29,6 +29,7 @@
 #include "smbacl.h"
 #include "ndr.h"
 #include "auth.h"
+#include "misc.h"
 
 #include "smb_common.h"
 #include "mgmt/share_config.h"