Home | History | Annotate | only in /src/sbin/scsictl
History log of /src/sbin/scsictl
RevisionDateAuthorComments
 1.4 27-Jun-2005  christos Move WARNS=3 to the Makefile.inc, and add a little const to the remaining
programs that did not compile before.
 1.3 05-Feb-2005  xtraeme Kill __P(), use ANSI function declarations; WARNS=3.
 1.2 18-Oct-1998  thorpej yoops, build manpage (duh)
 1.1 15-Oct-1998  thorpej scsictl(8) - a program to manipulate SCSI devices and busses. Currently
supports:

Devices: identify, reassign blocks, reset

Busses: reset, scan for devices

Coming soon, device formatting, mode page editing, device freeze/thaw, etc.
 1.7 21-Feb-2012  jakllsch constify command data argument to scsi_command().
 1.6 28-Apr-2008  martin branches: 1.6.20;
Remove clause 3 and 4 from TNF licenses
 1.5 05-Feb-2005  xtraeme branches: 1.5.26; 1.5.28;
Kill __P(), use ANSI function declarations; WARNS=3.
 1.4 26-Jun-2002  mjacob Add a bunch of stuff from Bob Nestor that fixes format to allow one to
specify device logical blocksize.

Furthermore, it also adds an 'immediate' option, which then sends more modern
devices into formatting in the background. scsictl still waits around and
sends a TEST UNIT READY every 10 seconds and, based upon the sense data
it gets back after the invariable CHECK CONDITION, prints out a progress
indicator (based upon SKSV progress in the sense data).

While we're at it, add a 'tur', 'reserve', 'release', 'start' and 'stop'
functions to the device commands.

Fix a long standing bug in scsi_command- the value in retsts is an integral
value- not a bitmask.
 1.3 05-Sep-2001  thorpej branches: 1.3.2;
Fixup scsi_mode_select().
 1.2 12-Nov-1998  thorpej Simple support for formatting a SCSI disk. This will be enhanced in
the near future.
 1.1 15-Oct-1998  thorpej scsictl(8) - a program to manipulate SCSI devices and busses. Currently
supports:

Devices: identify, reassign blocks, reset

Busses: reset, scan for devices

Coming soon, device formatting, mode page editing, device freeze/thaw, etc.
 1.3.2.1 28-Jul-2003  he Pull up revision 1.4 (requested by thorpej in ticket #764):
Several changes/updates to scsictl:
o Allow specification of logical blocksize
o Add 'getcache' and 'setcache' commands
o Add 'tur', 'reserve', 'release', 'start', and 'stop' functions
o Add an 'immediate' option to do formatting in the background
o Fix bug in scsi_command -- value in resets is an int not a
bitmask
o Fix usage of errx() / warnx() and remove unneeded trailing \n
 1.5.28.1 18-May-2008  yamt sync with head.
 1.5.26.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.20.1 17-Apr-2012  yamt sync with head
 1.11 28-Dec-2023  andvar s/informtion/information/ in comments.
 1.10 24-Jan-2022  andvar s/begining/beginning/ in comments and messages.
 1.9 22-Jun-2011  mrg when checking for SKSV data, use the same test as before. fixes an
always true conditional GCC 4.5 found, and is also a real bug fix.
 1.8 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.7 11-Feb-2008  dyoung branches: 1.7.4; 1.7.6;
Do not #include <sys/device.h> from userland.
 1.6 05-Feb-2005  xtraeme branches: 1.6.16; 1.6.18;
Kill __P(), use ANSI function declarations; WARNS=3.
 1.5 23-Jun-2003  agc Add NetBSD RCS Ids.
 1.4 17-May-2003  itojun use strlcpy
 1.3 15-Mar-1999  thorpej Remove some extra spaces.
 1.2 24-Feb-1999  jwise Code to check if a cooked device was specified was failing even if the
cooked device was opened successfully. Also fix a typo.

Fixes second part of PR bin/6883 for Soren S. Jorvang <soren@t.dk>
 1.1 15-Oct-1998  thorpej scsictl(8) - a program to manipulate SCSI devices and busses. Currently
supports:

Devices: identify, reassign blocks, reset

Busses: reset, scan for devices

Coming soon, device formatting, mode page editing, device freeze/thaw, etc.
 1.6.18.1 18-Feb-2008  mjf Sync with HEAD.
 1.6.16.1 23-Mar-2008  matt sync with HEAD
 1.7.6.1 18-May-2008  yamt sync with head.
 1.7.4.1 02-Jun-2008  mjf Sync with HEAD.
 1.14 21-Feb-2012  jakllsch Prevent stack buffer overflow when copying too-large-CDB into request.
 1.13 21-Feb-2012  jakllsch constify command data argument to scsi_command().
 1.12 28-Apr-2008  martin branches: 1.12.20;
Remove clause 3 and 4 from TNF licenses
 1.11 21-Feb-2005  thorpej branches: 1.11.26; 1.11.28;
Part 1 of a cleanup pass over the SCSI subsystem. The aim is to name
everything "scsi_*", since we really are talking about the SCSI command
set, ATAPI transport not withstanding. Improve the names of many structures,
and prepend "SCSI_" onto all SCSI command opcodes. Place items described
by the SCSI Primary Commands document into scsi_spc.h.
 1.10 05-Feb-2005  xtraeme Kill __P(), use ANSI function declarations; WARNS=3.
 1.9 08-Sep-2003  agc Make this compile after the recent changes to the kernel.
 1.8 23-Jun-2003  agc Add NetBSD RCS Ids.
 1.7 08-Oct-2002  soren Add missing \n in error.
 1.6 26-Jun-2002  mjacob Add a bunch of stuff from Bob Nestor that fixes format to allow one to
specify device logical blocksize.

Furthermore, it also adds an 'immediate' option, which then sends more modern
devices into formatting in the background. scsictl still waits around and
sends a TEST UNIT READY every 10 seconds and, based upon the sense data
it gets back after the invariable CHECK CONDITION, prints out a progress
indicator (based upon SKSV progress in the sense data).

While we're at it, add a 'tur', 'reserve', 'release', 'start' and 'stop'
functions to the device commands.

Fix a long standing bug in scsi_command- the value in retsts is an integral
value- not a bitmask.
 1.5 05-Sep-2001  thorpej branches: 1.5.2;
Fixup scsi_mode_select().
 1.4 15-May-2001  bouyer Adapt for MODE SENSE/SELECT changes in kernel.
 1.3 17-Apr-2001  ad Let '\377' be whitespace.
 1.2 12-Nov-1998  thorpej Simple support for formatting a SCSI disk. This will be enhanced in
the near future.
 1.1 15-Oct-1998  thorpej scsictl(8) - a program to manipulate SCSI devices and busses. Currently
supports:

Devices: identify, reassign blocks, reset

Busses: reset, scan for devices

Coming soon, device formatting, mode page editing, device freeze/thaw, etc.
 1.5.2.1 28-Jul-2003  he Pull up revisions 1.6-1.7 (requested by thorpej in ticket #764):
Several changes/updates to scsictl:
o Allow specification of logical blocksize
o Add 'getcache' and 'setcache' commands
o Add 'tur', 'reserve', 'release', 'start', and 'stop' functions
o Add an 'immediate' option to do formatting in the background
o Fix bug in scsi_command -- value in resets is an int not a
bitmask
o Fix usage of errx() / warnx() and remove unneeded trailing \n
 1.11.28.1 18-May-2008  yamt sync with head.
 1.11.26.1 02-Jun-2008  mjf Sync with HEAD.
 1.12.20.1 17-Apr-2012  yamt sync with head
 1.34 09-Nov-2024  rillig scsictl.8: brush up markup
 1.33 09-Nov-2024  mlelstv Add 'identify vpd' to also report Vital Product Data that identifies the device.
 1.32 21-Aug-2022  mlelstv branches: 1.32.4;
Add REPORT_LUNS command.
 1.31 08-Mar-2017  tsutsui Fix format.
 1.30 20-Nov-2016  wiz branches: 1.30.2;
Whitespace, sort.
 1.29 20-Nov-2016  dholland Add crossreference to scsi(4) per note in PR 9627.
 1.28 19-Nov-2016  wiz Bump date for previous.

Use more and more appropriate markup while here.
 1.27 19-Nov-2016  flxd Add "getrealloc" and "setrealloc" commands to get/set automatic reallocation
parameters/enables for error recovery, similar to {get,set}cache.
Many old SCSI disks shipped with reallocation disabled, albeit supporting it.
Minor (cosmetic) fixup of scsi_disk_pages while there.
Based upon code in PR bin/29165 by Greg A. Woods.
OK christos@
 1.26 29-Mar-2013  christos branches: 1.26.6; 1.26.10; 1.26.12;
Document debug
 1.25 30-Apr-2008  martin branches: 1.25.20; 1.25.22; 1.25.26;
Convert TNF licenses to new 2 clause variant
 1.24 23-Jan-2007  wiz branches: 1.24.12; 1.24.14;
Bump date for previous.
 1.23 22-Jan-2007  bouyer Kimura Fuyuki, bin/35216: add a setspeed command, to set the highest speed
that the optical drive should use for reading data.
 1.22 07-Jan-2005  wiz New sentence, new line. Simplify macro usage.
 1.21 07-Jan-2005  ginsbach Add command to read the defect data from a direct access device.
 1.20 16-Sep-2004  erh Add a couple cross-references to make similar ctl commands easier to find.
 1.19 01-Sep-2003  wiz Bump date for last.
 1.18 01-Sep-2003  mycroft Add a flushcache command -- I need it for my DVD+RW.
 1.17 03-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.16 03-Sep-2002  thorpej * Add "getcache" and "setcache" commands to get/set basic cache
parameters (enables, really).
* Fix an error in the manpage.
* Shuffle some code to group things together better.
 1.15 26-Jun-2002  wiz Punctuation vs. markup nits, and use .Dq instead of double quotes.
 1.14 26-Jun-2002  mjacob Add a bunch of stuff from Bob Nestor that fixes format to allow one to
specify device logical blocksize.

Furthermore, it also adds an 'immediate' option, which then sends more modern
devices into formatting in the background. scsictl still waits around and
sends a TEST UNIT READY every 10 seconds and, based upon the sense data
it gets back after the invariable CHECK CONDITION, prints out a progress
indicator (based upon SKSV progress in the sense data).

While we're at it, add a 'tur', 'reserve', 'release', 'start' and 'stop'
functions to the device commands.

Fix a long standing bug in scsi_command- the value in retsts is an integral
value- not a bitmask.
 1.13 16-Nov-2001  wiz branches: 1.13.2;
Sort sections, use standard section headers.
 1.12 18-Jul-2001  wiz Fix a typo, and capitalize SCSI in one place.
 1.11 18-Jul-2001  bouyer Add and document a 'detach' command.
 1.10 05-Jun-2001  wiz Drop arguments of .Os.
 1.9 03-Apr-2001  jdolecek xref se(4) now that the manpage is built and installed
 1.8 03-Apr-2001  wiz Don't xref nonexisting se(4).
 1.7 11-Feb-2001  ad Fix typo.
 1.6 08-Jul-2000  kleink Use .Pa.
 1.5 07-Mar-2000  jdolecek Add a note about what and where is printed for 'scan' command.
Addresses bin/9227 by <johnr@spimageworks.com>
 1.4 28-Sep-1999  ad Make `all' a synonym for the `any' keyword.
 1.3 30-Jul-1999  hubertf branches: 1.3.2;
Collect all little usage-messages spread around into one place,
and as a side effect, print the available commands (and their
usage) if no command is given on the command line.

Approved by Jason Thorpe.
 1.2 15-Oct-1998  thorpej Oops, finish the description of the "scan" bus command.
 1.1 15-Oct-1998  thorpej scsictl(8) - a program to manipulate SCSI devices and busses. Currently
supports:

Devices: identify, reassign blocks, reset

Busses: reset, scan for devices

Coming soon, device formatting, mode page editing, device freeze/thaw, etc.
 1.3.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.13.2.1 28-Jul-2003  he Pull up revisions 1.14-1.16 (requested by thorpej in ticket #764):
Several changes/updates to scsictl:
o Allow specification of logical blocksize
o Add 'getcache' and 'setcache' commands
o Add 'tur', 'reserve', 'release', 'start', and 'stop' functions
o Add an 'immediate' option to do formatting in the background
o Fix bug in scsi_command -- value in resets is an int not a
bitmask
o Fix usage of errx() / warnx() and remove unneeded trailing \n
 1.24.14.1 18-May-2008  yamt sync with head.
 1.24.12.1 02-Jun-2008  mjf Sync with HEAD.
 1.25.26.1 23-Jun-2013  tls resync from head
 1.25.22.1 15-Jan-2017  snj Pull up following revision(s) (requested by flxd in ticket #1418):
sbin/scsictl/scsictl.8: 1.27, 1.29, 1.30 via patch
sbin/scsictl/scsictl.c: revision 1.39 via patch
sys/dev/scsipi/scsi_disk.h: revision 1.32
Add "getrealloc" and "setrealloc" commands to get/set automatic reallocation
parameters/enables for error recovery, similar to {get,set}cache.
Many old SCSI disks shipped with reallocation disabled, albeit
supporting it.
Minor (cosmetic) fixup of scsi_disk_pages while there.
Based upon code in PR bin/29165 by Greg A. Woods.
OK christos@
--
Bump date for previous.
--
Add crossreference to scsi(4) per note in PR 9627.
Whitespace, sort.
 1.25.20.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.26.12.1 18-Jan-2017  skrll Sync with netbsd-5
 1.26.10.2 20-Mar-2017  pgoyette Sync with HEAD
 1.26.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.26.6.1 03-Dec-2016  martin Pull up following revision(s) (requested by flxd in ticket #1276):
sys/dev/scsipi/scsi_disk.h: revision 1.32
sbin/scsictl/scsictl.8: revision 1.27-1.30
sbin/scsictl/scsictl.c: revision 1.39
Add "getrealloc" and "setrealloc" commands to get/set automatic reallocation
parameters/enables for error recovery, similar to {get,set}cache.
Many old SCSI disks shipped with reallocation disabled, albeit
supporting it.
Minor (cosmetic) fixup of scsi_disk_pages while there.
Based upon code in PR bin/29165 by Greg A. Woods.
OK christos@
Bump date for previous.
Use more and more appropriate markup while here.
Add crossreference to scsi(4) per note in PR 9627.
Whitespace, sort.
 1.30.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.32.4.1 02-Aug-2025  perseant Sync with HEAD
 1.42 10-Nov-2024  riastradh scsictl(8): KNF

No functional change intended.
 1.41 09-Nov-2024  mlelstv Add 'identify vpd' to also report Vital Product Data that identifies the device.
 1.40 21-Aug-2022  mlelstv branches: 1.40.4;
Add REPORT_LUNS command.
 1.39 19-Nov-2016  flxd Add "getrealloc" and "setrealloc" commands to get/set automatic reallocation
parameters/enables for error recovery, similar to {get,set}cache.
Many old SCSI disks shipped with reallocation disabled, albeit supporting it.
Minor (cosmetic) fixup of scsi_disk_pages while there.
Based upon code in PR bin/29165 by Greg A. Woods.
OK christos@
 1.38 18-Oct-2014  snj branches: 1.38.2;
src is too big these days to tolerate superfluous apostrophes. It's
"its", people!
 1.37 12-Jan-2013  jakllsch branches: 1.37.8; 1.37.12;
We supply data with the FORMAT UNIT command, so tell the kernel which
direction it is to go (write).
 1.36 12-Jan-2013  jakllsch take sizeof actual symbol we are memsetting
 1.35 03-Nov-2012  jakllsch make a bunch of globals static
 1.34 03-Nov-2012  jakllsch drop write-only variable
 1.33 29-Aug-2011  joerg branches: 1.33.2; 1.33.4; 1.33.8;
Use __dead
 1.32 24-May-2011  joerg Decide on printing an int as int and not as short.
 1.31 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.30 02-Feb-2008  christos branches: 1.30.4; 1.30.6;
PR/37932: Yakovetsky Vladimir: build distribution with USE_FORT fails
fix buffer overflow
 1.29 22-Jan-2007  bouyer branches: 1.29.4; 1.29.6;
Kimura Fuyuki, bin/35216: add a setspeed command, to set the highest speed
that the optical drive should use for reading data.
 1.28 02-Jun-2005  lukem Ensure that "setcache <mode>" doesn't use random data for "byte2"
("setcache <mode> save" DTRT).
Found by gcc -Wuninitialized.

Appease other -Wuninitialized warnings.
 1.27 21-Feb-2005  thorpej branches: 1.27.2;
Part 1 of a cleanup pass over the SCSI subsystem. The aim is to name
everything "scsi_*", since we really are talking about the SCSI command
set, ATAPI transport not withstanding. Improve the names of many structures,
and prepend "SCSI_" onto all SCSI command opcodes. Place items described
by the SCSI Primary Commands document into scsi_spc.h.
 1.26 05-Feb-2005  xtraeme Kill __P(), use ANSI function declarations; WARNS=3.
 1.25 07-Jan-2005  ginsbach Add command to read the defect data from a direct access device.
 1.24 01-Jun-2004  fair Increase the SCSI command timeout for device start & stop from 10
to 30 seconds, per PR 25734. I've seen this problem myself. I think
that scsictl should:

1. accept a timeout flag/parameter to set the timeout to an arbitrary
value other than the default.

2. support a verbose mode that would report the timeout value before
the command is started, and then report how long the command actually
took to complete, though I suppose the latter could also be done
by using time(1).
 1.23 05-Jan-2004  jmmv branches: 1.23.2;
Homogenize usage messages: make the 'usage' word all lowercase, as this seems
to be the most common practice in our tree.
 1.22 01-Sep-2003  mycroft Add prevent/allow commands.
 1.21 01-Sep-2003  mycroft Add a flushcache command -- I need it for my DVD+RW.
 1.20 23-Jun-2003  agc Add NetBSD RCS Ids.
 1.19 26-Sep-2002  petrov Added debug command to support SCIOCDEBUG.
 1.18 03-Sep-2002  thorpej * Add "getcache" and "setcache" commands to get/set basic cache
parameters (enables, really).
* Fix an error in the manpage.
* Shuffle some code to group things together better.
 1.17 20-Jul-2002  grant sweep of errx/warnx, remove unnecessary trailing \n
 1.16 26-Jun-2002  mjacob Add a bunch of stuff from Bob Nestor that fixes format to allow one to
specify device logical blocksize.

Furthermore, it also adds an 'immediate' option, which then sends more modern
devices into formatting in the background. scsictl still waits around and
sends a TEST UNIT READY every 10 seconds and, based upon the sense data
it gets back after the invariable CHECK CONDITION, prints out a progress
indicator (based upon SKSV progress in the sense data).

While we're at it, add a 'tur', 'reserve', 'release', 'start' and 'stop'
functions to the device commands.

Fix a long standing bug in scsi_command- the value in retsts is an integral
value- not a bitmask.
 1.15 14-Apr-2002  tsutsui branches: 1.15.2;
21600000 -> 6*60*60*1000 (timeout in six hours for format command)
 1.14 18-Jul-2001  bouyer Add and document a 'detach' command.
 1.13 15-May-2001  bouyer Adapt for MODE SENSE/SELECT changes in kernel.
 1.12 01-Apr-2001  ad Remove superfluous newlines in calls to errx().
 1.11 19-Feb-2001  cgd convert to use getprogname()
 1.10 27-Oct-1999  mycroft Increase the format timeout to 6 hours.
 1.9 04-Oct-1999  mycroft Make `reassign' actually work.
 1.8 28-Sep-1999  ad Make `all' a synonym for the `any' keyword.
 1.7 13-Aug-1999  mjl branches: 1.7.2;
Clarify usage message.
 1.6 30-Jul-1999  hubertf Collect all little usage-messages spread around into one place,
and as a side effect, print the available commands (and their
usage) if no command is given on the command line.

Approved by Jason Thorpe.
 1.5 24-Feb-1999  jwise Code to check if a cooked device was specified was failing even if the
cooked device was opened successfully. Also fix a typo.

Fixes second part of PR bin/6883 for Soren S. Jorvang <soren@t.dk>
 1.4 12-Nov-1998  thorpej Simple support for formatting a SCSI disk. This will be enhanced in
the near future.
 1.3 17-Oct-1998  thorpej Fix a thinko in the device opening code.
 1.2 15-Oct-1998  thorpej Fix a couple of usage strings.
 1.1 15-Oct-1998  thorpej scsictl(8) - a program to manipulate SCSI devices and busses. Currently
supports:

Devices: identify, reassign blocks, reset

Busses: reset, scan for devices

Coming soon, device formatting, mode page editing, device freeze/thaw, etc.
 1.7.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.15.2.1 28-Jul-2003  he Pull up revisions 1.16-1.18 (requested by thorpej in ticket #764):
Several changes/updates to scsictl:
o Allow specification of logical blocksize
o Add 'getcache' and 'setcache' commands
o Add 'tur', 'reserve', 'release', 'start', and 'stop' functions
o Add an 'immediate' option to do formatting in the background
o Fix bug in scsi_command -- value in resets is an int not a
bitmask
o Fix usage of errx() / warnx() and remove unneeded trailing \n
 1.23.2.1 01-Jun-2004  jmc Pullup rev 1.24 (requested by fair in ticket #431)

Increase the SCSI command timeout for device start & stop from 10
to 30 seconds. PR#25734
 1.27.2.1 14-Jun-2005  tron Pull up revision 1.28 (requested by lukem in ticket #402):
Ensure that "setcache <mode>" doesn't use random data for "byte2"
("setcache <mode> save" DTRT).
Found by gcc -Wuninitialized.
Appease other -Wuninitialized warnings.
 1.29.6.1 18-Feb-2008  mjf Sync with HEAD.
 1.29.4.1 23-Mar-2008  matt sync with HEAD
 1.30.6.1 18-May-2008  yamt sync with head.
 1.30.4.1 02-Jun-2008  mjf Sync with HEAD.
 1.33.8.2 25-Feb-2013  tls resync with head
 1.33.8.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.33.4.1 15-Jan-2017  snj Pull up following revision(s) (requested by flxd in ticket #1418):
sbin/scsictl/scsictl.8: 1.27, 1.29, 1.30 via patch
sbin/scsictl/scsictl.c: revision 1.39 via patch
sys/dev/scsipi/scsi_disk.h: revision 1.32
Add "getrealloc" and "setrealloc" commands to get/set automatic reallocation
parameters/enables for error recovery, similar to {get,set}cache.
Many old SCSI disks shipped with reallocation disabled, albeit
supporting it.
Minor (cosmetic) fixup of scsi_disk_pages while there.
Based upon code in PR bin/29165 by Greg A. Woods.
OK christos@
--
Bump date for previous.
--
Add crossreference to scsi(4) per note in PR 9627.
Whitespace, sort.
 1.33.2.2 23-Jan-2013  yamt sync with head
 1.33.2.1 16-Jan-2013  yamt sync with (a bit old) head
 1.37.12.1 18-Jan-2017  skrll Sync with netbsd-5
 1.37.8.1 03-Dec-2016  martin Pull up following revision(s) (requested by flxd in ticket #1276):
sys/dev/scsipi/scsi_disk.h: revision 1.32
sbin/scsictl/scsictl.8: revision 1.27-1.30
sbin/scsictl/scsictl.c: revision 1.39
Add "getrealloc" and "setrealloc" commands to get/set automatic reallocation
parameters/enables for error recovery, similar to {get,set}cache.
Many old SCSI disks shipped with reallocation disabled, albeit
supporting it.
Minor (cosmetic) fixup of scsi_disk_pages while there.
Based upon code in PR bin/29165 by Greg A. Woods.
OK christos@
Bump date for previous.
Use more and more appropriate markup while here.
Add crossreference to scsi(4) per note in PR 9627.
Whitespace, sort.
 1.38.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.40.4.1 02-Aug-2025  perseant Sync with HEAD

RSS XML Feed