Commit Graph
2109 Commits
Author SHA1 Message Date
Bart Van Assche a5dc4d8102 Merge r7400 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7657 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-04 03:32:43 +00:00
Bart Van Assche 5a87137b64 Merge r7399 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7656 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-04 03:31:34 +00:00
Bart Van Assche b7b677e1e7 Merge r7390 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7650 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-04 03:20:22 +00:00
Bart Van Assche f118aba830 Merge r7387 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7647 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-04 03:15:02 +00:00
Bart Van Assche 1a8bb00f10 Merge r7385 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7645 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-04 03:14:27 +00:00
Bart Van Assche 0b82df143c Merge r7373 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7633 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-04 03:07:06 +00:00
Bart Van Assche 7588fc84a9 Merge r7370 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7630 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-04 03:05:32 +00:00
Bart Van Assche 9ad8e10cc6 Merge r7361 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7621 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-04 02:58:55 +00:00
Bart Van Assche 30253408df Merge r7360 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7620 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-04 02:58:22 +00:00
Bart Van Assche 84e0f8adc8 Merge r7359 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7619 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-04 02:57:45 +00:00
Bart Van Assche fc97d18196 Merge r7356 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7616 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-04 02:54:05 +00:00
Bart Van Assche ee4eeaa7cd Merge r7346 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7607 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-04 02:15:28 +00:00
Bart Van Assche ace1b0bb0d Merge r7345 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7606 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-04 02:14:22 +00:00
Bart Van Assche 9bbb492489 scst: Fix spelling in a source code comment (merge r7342 from trunk)
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7596 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:46:31 +00:00
Bart Van Assche 2c98dbae86 scst: add possibility to create multi-queue sessions
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7595 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:45:54 +00:00
Bart Van Assche d23850a85c scst_vdisk: fix crash on/after changing vcdrom media
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7593 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:44:27 +00:00
Bart Van Assche d853a42ba3 scst_lib: Kernel v4.14.x (x>=11) build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7583 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:39:58 +00:00
Bart Van Assche b7a56cfa12 scst_vdisk: lower severity of message about not supported fallocate(FALLOC_FL_PUNCH_HOLE|FALLOC_FL_KEEP_SIZE) and print it only once
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7582 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:39:36 +00:00
Bart Van Assche 65431b808c scst: fix displaying "mgmt" sysfs help information
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7581 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:39:02 +00:00
Bart Van Assche a007aede73 scst_debug.h: Avoid that smatch complains about passing a pointer to format specifier %lx
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7563 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:26:35 +00:00
Bart Van Assche 86d8cf4813 scst: Fix source code indentation
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7562 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:25:25 +00:00
Bart Van Assche 1646f6f630 scst: Backport timer_setup() to kernel versions before v4.10
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7559 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:23:21 +00:00
Bart Van Assche f6f174e6d1 scst: Kernel v4.15 build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7553 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:18:26 +00:00
Bart Van Assche dbdf7becb2 Fix kernel-doc warnings
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7552 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:17:39 +00:00
Bart Van Assche ac65d90b33 scst_vdisk: Change page_cache_alloc_cold() calls into page_cache_alloc() calls
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7549 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:15:14 +00:00
Bart Van Assche 145db52f3f Convert setup_timer() into timer_setup() calls
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7548 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:14:25 +00:00
Bart Van Assche bc2f01f3d2 scst: Convert init_timer() into setup_timer() calls
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7545 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:10:48 +00:00
Bart Van Assche a752568da6 scst: fix pass-through on kernels 4.11 and 4.12
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7543 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:08:31 +00:00
Bart Van Assche 5a70bca1fb scst: nolockdep patch for 4.13 kernels
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7542 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 04:07:54 +00:00
Bart Van Assche e0419dd425 ib_srpt: Declare second srpt_get_u64_x() argument const (merge r7281 from trunk)
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7536 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-01 03:57:12 +00:00
Vladislav Bolkhovitin 129cac067c Merged revisions 7253-7266,7268-7271 via svnmerge from
svn+ssh://svn.code.sf.net/p/scst/svn/trunk

........
  r7253 | vlnb | 2017-10-11 20:22:02 -0700 (Wed, 11 Oct 2017) | 3 lines
  
  scst: add example of active non-optimized setup
........
  r7254 | bvassche | 2017-10-12 07:56:44 -0700 (Thu, 12 Oct 2017) | 1 line
  
  qla2x00t: Fix scst_debug.h include path for the in-tree build
........
  r7255 | bvassche | 2017-10-12 08:03:13 -0700 (Thu, 12 Oct 2017) | 1 line
  
  scripts/specialize-patch: Fix #elif handling
........
  r7256 | vlnb | 2017-10-13 19:18:56 -0700 (Fri, 13 Oct 2017) | 3 lines
  
  Unpdate for kernels 4.12+
........
  r7257 | bvassche | 2017-11-11 21:01:16 -0800 (Sat, 11 Nov 2017) | 1 line
  
  iscsi-scst/usr/Makefile: Pass -Wno-format-truncation if supported
........
  r7258 | bvassche | 2017-11-12 21:48:16 -0800 (Sun, 12 Nov 2017) | 4 lines
  
  ib_srpt: Kernel 4.14 build fix
  
  Signed-off-by: Peter Vyazovik <fuzzhead0@gmail.com>
........
  r7259 | bvassche | 2017-11-12 21:49:08 -0800 (Sun, 12 Nov 2017) | 1 line
  
  scst: Introduce the kernel v4.14 bio_set_dev() macro
........
  r7260 | bvassche | 2017-11-12 21:50:44 -0800 (Sun, 12 Nov 2017) | 5 lines
  
  scst, iscsi-scst: Introduce scst_read(), scst_write(), scst_readv() and scst_writev()
  
  This makes it easier to add support for new kernel versions, e.g. kernel
  version v4.14.
........
  r7261 | bvassche | 2017-11-13 08:00:09 -0800 (Mon, 13 Nov 2017) | 1 line
  
  scst/src/scst_lib.c: Fix recently introduced checkpatch complaints
........
  r7262 | bvassche | 2017-11-13 08:18:00 -0800 (Mon, 13 Nov 2017) | 4 lines
  
  scst: Fix build for kernels 3.15 and older
  
  blk_rq_set_block_pc() was introduced in kernel 3.16.
........
  r7263 | bvassche | 2017-11-13 08:24:16 -0800 (Mon, 13 Nov 2017) | 1 line
  
  nightly build: Update kernel versions
........
  r7264 | bvassche | 2017-11-13 08:47:10 -0800 (Mon, 13 Nov 2017) | 1 line
  
  scst: Address two checkpatch warnings
........
  r7265 | bvassche | 2017-11-13 08:47:43 -0800 (Mon, 13 Nov 2017) | 1 line
  
  scst/src/scst_targ: Use READ_ONCE() instead of ACCESS_ONCE()
........
  r7266 | bvassche | 2017-11-13 08:49:39 -0800 (Mon, 13 Nov 2017) | 1 line
  
  fcst/fcst.h: Add identifier names
........
  r7268 | bvassche | 2017-11-14 08:37:24 -0800 (Tue, 14 Nov 2017) | 1 line
  
  scst: Fix kernel <= 2.6.30 build
........
  r7269 | bvassche | 2017-11-14 18:45:57 -0800 (Tue, 14 Nov 2017) | 1 line
  
  nightly/bin/nightly: Clone the source code tree quietly
........
  r7270 | bvassche | 2017-11-14 18:47:06 -0800 (Tue, 14 Nov 2017) | 1 line
  
  nightly build: Update kernel versions
........
  r7271 | bvassche | 2017-11-14 18:48:03 -0800 (Tue, 14 Nov 2017) | 1 line
  
  nightly/conf/nightly.sendmail: Use mail if mutt is not available
........


git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7288 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-12-23 04:30:51 +00:00
Vladislav Bolkhovitin 491ca9cd95 Merged revisions 7247-7251 via svnmerge from
svn+ssh://svn.code.sf.net/p/scst/svn/trunk

........
  r7247 | bvassche | 2017-10-06 08:08:00 -0700 (Fri, 06 Oct 2017) | 4 lines
  
  fcst: Fix in-tree build
  
  See also r7243.
........
  r7248 | bvassche | 2017-10-09 11:10:48 -0700 (Mon, 09 Oct 2017) | 4 lines
  
  scst_vdisk: Fix a bug in the Linux kernel v4.13 port
  
  See also trunk r7240.
........
  r7249 | bvassche | 2017-10-09 11:15:00 -0700 (Mon, 09 Oct 2017) | 4 lines
  
  scst: Fix SCSI pass-through for kernel version v4.11 and later
  
  See also trunk r7153.
........
  r7250 | bvassche | 2017-10-09 12:58:15 -0700 (Mon, 09 Oct 2017) | 1 line
  
  scst/include/backport.h: Follow-up for r7248
........
  r7251 | vlnb | 2017-10-09 19:06:13 -0700 (Mon, 09 Oct 2017) | 5 lines
  
  qla2x00t: update FW version information as suggested by Jens-U. Mozdzen <jmozdzen@nde.ag>
  
  See https://sourceforge.net/p/scst/mailman/message/36068827/
........


git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7252 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-10 02:18:39 +00:00
Vladislav Bolkhovitin e5d322d4ab Merged revisions 7233-7244 via svnmerge from
svn+ssh://svn.code.sf.net/p/scst/svn/trunk

........
  r7233 | bvassche | 2017-09-20 08:09:38 -0700 (Wed, 20 Sep 2017) | 4 lines
  
  ib_srpt: Support systems with more than 255 CPU cores
  
  Signed-off-by: Kirill Malkin <kirillmalkin.km@gmail.com>
........
  r7234 | bvassche | 2017-09-24 18:52:53 -0700 (Sun, 24 Sep 2017) | 2 lines
  
  iscsi-scst/Makefile: Change MOFED path into /usr/src/ofa_kernel/default
........
  r7235 | bvassche | 2017-09-25 16:35:49 -0700 (Mon, 25 Sep 2017) | 1 line
  
  iscsi-scst/Makefile, Ubuntu: Simplify code for version querying
........
  r7236 | bvassche | 2017-10-02 16:56:47 -0700 (Mon, 02 Oct 2017) | 1 line
  
  scripts/specialize-patch: Process ENABLE_NPIV and FC_VPORT_CREATE_DEFINED correctly
........
  r7237 | bvassche | 2017-10-02 17:04:53 -0700 (Mon, 02 Oct 2017) | 2 lines
  
  scripts/generate-kernel-patch: Fix a regression introduced in r7164
........
  r7238 | bvassche | 2017-10-02 17:05:42 -0700 (Mon, 02 Oct 2017) | 1 line
  
  scripts/specialize-patch: Process CONFIG_SCST_STRICT_SERIALIZING correctly
........
  r7239 | bvassche | 2017-10-03 15:49:35 -0700 (Tue, 03 Oct 2017) | 1 line
  
  isert-scst: Make an error message more informative
........
  r7240 | bvassche | 2017-10-03 16:08:29 -0700 (Tue, 03 Oct 2017) | 1 line
  
  scst: Port to kernel v4.13
........
  r7241 | bvassche | 2017-10-03 16:10:03 -0700 (Tue, 03 Oct 2017) | 1 line
  
  nightly build: Update kernel versions
........
  r7242 | bvassche | 2017-10-05 09:57:27 -0700 (Thu, 05 Oct 2017) | 1 line
  
  scst: Port to openSUSE Leap 42.x
........
  r7243 | bvassche | 2017-10-05 16:48:25 -0700 (Thu, 05 Oct 2017) | 1 line
  
  fcst: Port to openSUSE Leap
........
  r7244 | bvassche | 2017-10-05 16:48:51 -0700 (Thu, 05 Oct 2017) | 1 line
  
  qla2x00t: Port to openSUSE Leap
........


git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7246 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-06 04:51:04 +00:00
Vladislav Bolkhovitin d7bda7ff18 SCST_VERSION_CODE changed to 3.3
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7228 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-09-01 04:00:31 +00:00
Vladislav Bolkhovitin 3bd81edc6e Version changed to 3.3.0-rc
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7227 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-09-01 03:57:09 +00:00
Bart Van Assche 617c48e138 scst: More fall-through annotations for gcc 7
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7217 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-27 15:40:42 +00:00
Bart Van Assche 9e35afe1e0 Annotate fall-through in switch statements in a form recognized by gcc 7
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7216 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-27 15:28:57 +00:00
Vladislav Bolkhovitin 4c269fa728 In the current implementation of SCST/trunk the recently introduced
"active" attribute for vdisk_blockio devices is managed by an ALUA
state change (start/finish), for specific ALUA states (eg,
active/standby). Relying on ALUA state changes to open/close the
back-end block device does indeed work for some SCST configurations,
however, some users desire advanced control over this setting, and
prefer to handle opening/closing a back-end block device from the
cluster resource agent (RA) script. Certain ambiguous situations can
also arise if more than one target group exists per SCST device
group... in this case, a back-end device may flip/flop (opened/closed)
and may end up in an inconsistent state if care is not taken in the
implementation of the cluster RA.

The patch below makes the "active" sysfs attribute for vdisk_blockio
readable/writable by a user, thereby giving full control over a
device's opened/closed state. The default behavior for SCST
vdisk_blockio devices is to allow ALUA state changes to control the
opened/closed ("active") state of a back-end device
(bind_alua_state=1). If the user wishes to handle setting the "active"
attribute themselves via a script or cluster RA, they would set
bind_alua_state=0 for the vdisk_blockio device, and the "active"
attribute would not be modified on ALUA state changes, it is then left
up to the user to handle this.

The patch below also fixes a bug where the attribute value is not
changed when the appropriate ALUA state is set, unless a target
session exists for the target group target; see here for more
information: https://sourceforge.net/p/scst/mailman/message/35898014/

Signed-off-by: Marc A. Smith <marc.smith@parodyne.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7212 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-07-26 03:18:30 +00:00
Vladislav Bolkhovitin 792a896abb With the new 'active' attribute, a bug exists where the attribute
value is not changed when the appropriate ALUA state is set, unless a
target session exists for the target group target; this patch fixes
that bug, see here for more information:
https://sourceforge.net/p/scst/mailman/message/35898014/

Signed-off-by: Marc A. Smith <marc.smith@parodyne.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7211 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-07-15 03:26:11 +00:00
Vladislav Bolkhovitin c967700cd7 scst: Linux kernel v4.12 warning fix.
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7208 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-13 03:58:26 +00:00
Vladislav Bolkhovitin 213a11e07b scst: minor cleanup for previous commit
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7207 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-07 01:23:59 +00:00
Vladislav Bolkhovitin e174d00f08 scst: update ALUA documentation (Active/Non-Optimized)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7206 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-07 01:13:58 +00:00
Vladislav Bolkhovitin 64d07d25cf scst_vdisk: 'numa_node_id' signed attribute value fix
The "numa_node_id" attribute reside in the scst_vdisk_dev struct as
signed integer and may well be negative values (eg, -1), so move fetching
it above the unsigned attributes and use kstrtoll() to retrieve the
values.

Signed-off-by: Marc A. Smith <marc.smith@parodyne.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7205 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-06 04:20:09 +00:00
Vladislav Bolkhovitin 0ae66a082e Fix dereference beyond last sg element
Reported-By: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7204 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-03 04:02:22 +00:00
Vladislav Bolkhovitin 93bea9e0e8 Update to 4.11 kernels
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7203 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-03 02:38:51 +00:00
Vladislav Bolkhovitin 5358fb06f8 scst: remove a few unnecessary shadow declarations
Remove a few "shadow" declarations that appear unnecessary and probably
unintended.  (These are cases where a declaration in an inner scope hides
another declaration of the same name in an outer scope.)

Not all shadow declarations are superfluous -- so this particular compiler
warning is one that cannot be simply heeded while half asleep.  But these
particular ones I removed appear to be superfluous.

Signed-off-by: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7201 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-01 04:04:45 +00:00
Vladislav Bolkhovitin c4e9bab97c scst: scst_free_acg() not dereference NULL acg->tgt for proc interface
Signed-off-by: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7199 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-01 03:49:26 +00:00
Vladislav Bolkhovitin c1d798a788 scst: cleanup of dead code
Reported-By: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7198 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-01 03:46:06 +00:00
Vladislav Bolkhovitin bd67b31c9e scst: a better version of possible memory reclaim deadlock fix r7194
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7197 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-31 04:01:00 +00:00
Vladislav Bolkhovitin 4a8a18cc34 scst_vdisk: add "active" attridute to the list of BLOCKIO add device attributes
This is forgotten piece to r7187



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7196 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-26 02:45:47 +00:00