Commit Graph

423 Commits

Author SHA1 Message Date
Rob Landley
6e98521d68 Stephane Billiart noticed that the return code of the new mount was horked.
(Cleaned up the return code path to consistently use numbers so I don't keep
confusing EXIT_SUCCESS with TRUE and EXIT_FAILURE with FALSE...)
2005-08-14 18:46:34 +00:00
Rob Landley
6a6798b8e4 Major rewrite of mount, umount, losetup. Untangled lots of code, shrunk
things down a bit, fixed a number of funky corner cases, added support for
several new features (things like mount --move, mount --bind, lazy unounts,
automatic detection of loop mounts, and so on).  Probably broke several
other things, but it's fixable.  (Bang on it, tell me what doesn't work for
you...)

Note: you no longer need to say "-o loop".  It does that for you when
necessary.

Still need to add "user mount" support, which involves making mount suid.  Not
too hard to do under the new infrastructure, just haven't done it yet...

The previous code had the following notes, that belong in the version
control comments:

- * 3/21/1999   Charles P. Wright <cpwright@cpwright.com>
- *             searches through fstab when -a is passed
- *             will try mounting stuff with all fses when passed -t auto
- *
- * 1999-04-17  Dave Cinege...Rewrote -t auto. Fixed ro mtab.
- *
- * 1999-10-07  Erik Andersen <andersen@codepoet.org>.
- *              Rewrite of a lot of code. Removed mtab usage (I plan on
- *              putting it back as a compile-time option some time),
- *              major adjustments to option parsing, and some serious
- *              dieting all around.
- *
- * 1999-11-06  mtab support is back - andersee
- *
- * 2000-01-12   Ben Collins <bcollins@debian.org>, Borrowed utils-linux's
- *              mount to add loop support.
- *
- * 2000-04-30  Dave Cinege <dcinege@psychosis.com>
- *             Rewrote fstab while loop and lower mount section. Can now do
- *             single mounts from fstab. Can override fstab options for single
- *             mount. Common mount_one call for single mounts and 'all'. Fixed
- *             mtab updating and stale entries. Removed 'remount' default.
- *
2005-08-10 20:35:54 +00:00
Mike Frysinger
4d00896d05 use toplevel ARFLAGS and update default ARFLAGS to be quiet 2005-07-27 01:09:24 +00:00
Paul Fox
3f6f3174e9 applying fix from:
0000068: mount limited to max 8 loop devices (patch provided)  

(made minor wording change for config help message)
2005-07-19 20:55:37 +00:00
Eric Andersen
576db48ef0 applets specified as _BB_SUID_ALWAYS in applets.h should also select
CONFIG_FEATURE_SUID to ensure proper behavior when installed.
2005-06-23 18:58:57 +00:00
Rob Landley
6eb1e41674 Rodney Radford submitted ipcs and ipcrm (system V IPC stuff). They could use
some more work to shrink them down.
2005-06-20 04:30:36 +00:00
Paul Mundt
8b2d02ed34 Add readprofile applet support. 2005-05-20 17:22:18 +00:00
Mike Frysinger
348e84c202 change the hardcoded error constant (0x80000000UL) to a nice flexible define (BB_GETOPT_ERROR) 2005-05-11 00:39:03 +00:00
Mike Frysinger
7eb6457c4c moved to e2fsprogs too 2005-04-25 05:00:33 +00:00
Mike Frysinger
3b59821cbd remove lsattr/chattr to prepare for a top level e2fsprogs dir with more stuff in it 2005-04-23 01:45:08 +00:00
Mike Frysinger
de9f1f757a import lsattr and chattr from e2fsprogs 2005-04-22 02:33:37 +00:00
Mike Frysinger
f547d672cf fix typoe (buildddir -> builddir) 2005-04-21 01:49:05 +00:00
Mike Frysinger
b31566ef32 minor style touchups 2005-04-16 04:48:48 +00:00
Eric Andersen
7daa076d3e egor duda writes:
Hi!

I've created a patch to busybox' build system to allow building it in
separate tree in a manner similar to kbuild from kernel version 2.6.

That is, one runs command like
'make O=/build/some/where/for/specific/target/and/options'
and everything is built in this exact directory, provided that it exists.

I understand that applyingc such invasive changes during 'release
candidates' stage of development is at best unwise. So, i'm currently
asking for comments about this patch, starting from whether such thing
is needed at all to whether it coded properly.

'make check' should work now, and one make creates Makefile in build
directory, so one can run 'make' in build directory after that.

One possible caveat is that if we build in some directory other than
source one, the source directory should be 'distclean'ed first.

egor
2004-10-08 07:46:08 +00:00
Glenn L McGrath
d4004ee6a9 Patch from Felipe Kellermann, remove some unnecessary dups, i declared a few extra const's also. 2004-09-14 17:24:59 +00:00
Eric Andersen
b225e2a76b Fixup some warnings 2004-08-28 00:43:07 +00:00
Eric Andersen
93d7fba892 Tito, farmatito at tiscali dot it writes:
Hi to all,
This patch is useful for:
1) remove an unused var from extern char *find_real_root_device_name(const char* name)
    changing it to extern char *find_real_root_device_name(void).
2) fixes include/libbb.h, coreutils/df.c, util-linux/mount.c and  util-linux/umount.c accordingly.
3) fixes a bug, really a false positive,  in find_real_root_device_name() that happens if
    in the /dev directory exists a link named root (/dev/root) that should be skipped but
    is not. This affects applets like df that display wrong results
2004-08-03 00:14:02 +00:00
Eric Andersen
882cec3e40 YAEGASHI Takeshi writes:
Hi,

With the following /etc/fstab (any two or more lines of nfs), mount -a
-t nfs causes a segmentation faults.

server:/exports/aaa /mnt/aaa nfs defaults 0 0
server:/exprots/bbb /mnt/bbb nfs defaults 0 0

In util-linux/nfsmount.c, it overwrites malloc'ed pointer *mount_opts
with a static pointer.  With this patch it does proper memory realloc
and data copy instead.
2004-07-26 12:05:12 +00:00
Eric Andersen
d926149d26 Avoid a number of places where large drives could wrap a uint, and
instead use off_t which will be automagically promoted to 64bit if
compiled with support for large drives.
 -Erik
2004-06-28 23:50:31 +00:00
Eric Andersen
86af052d25 Kevin P. Fleming writes:
Yes, I know busybox is in feature freeze. If this two-liner is too much
that's fine, but it's handy.

This patch allows busybox mount to support "-o move" just like it
supports "-o bind", which is the equivalent of util-linux "mount --move".

Usage is:

mount -o move /mnt/point/1 /mnt/point/2

where /mnt/point/1 is an already mounted filesystem; it will be moved to
/mnt/point/2.
2004-05-26 21:26:07 +00:00
Eric Andersen
42f8883c71 Per suggestion from Bastian Blank, be less evil when we force fdisk to
transparently remap 32-bit interfaces to actually use 64 bit interfaces.
 -Erik
2004-05-26 11:59:19 +00:00
Eric Andersen
823b17263a Use tab not space 2004-05-26 11:50:37 +00:00
Eric Andersen
1be01072e9 Do not select LFS 2004-05-19 11:06:20 +00:00
Eric Andersen
84bdea8cb2 Erik,
>http://busybox.net/cgi-bin/cvsweb/busybox/util-linux/fdisk.c?r1=1.22&r2=1.23&diff_format=u

Its hack for "force" ;-)

If to return the previous version of a Config.in
http://busybox.net/cgi-bin/cvsweb/busybox/util-linux/Config.in?r1=1.12&r2=1.13
and to apply last patch, then I shall calm down. ;-)


(OOPS, last patch have autocorrected from my editor begins spaces to tabs and
removed spaces from empty lines too).


--w
vodz
2004-05-19 10:49:17 +00:00
Eric Andersen
256c4fd587 Make vodz happy and make fdisk always use large file support if
possible, even if LFS is not enabled for the rest of busybox.
 -Erik
2004-05-19 09:00:00 +00:00
Eric Andersen
aff114c33d Larry Doolittle writes:
This is a bulk spelling fix patch against busybox-1.00-pre10.
If anyone gets a corrupted copy (and cares), let me know and
I will make alternate arrangements.

Erik - please apply.

Authors - please check that I didn't corrupt any meaning.

Package importers - see if any of these changes should be
passed to the upstream authors.

I glossed over lots of sloppy capitalizations, missing apostrophes,
mixed American/British spellings, and German-style compound words.

What is "pretect redefined for test" in cmdedit.c?

Good luck on the 1.00 release!

      - Larry
2004-04-14 17:51:38 +00:00
Eric Andersen
ee4b7d496d make mount ignore -n when CONFIG_FEATURE_MTAB_SUPPORT is disabled 2004-04-12 15:02:53 +00:00
Eric Andersen
522a2f3b39 Everything should be made as simple as possible. But no simpler. 2004-04-03 12:36:03 +00:00
Eric Andersen
bbbbcfef24 Sigh. what a mess. 2004-03-30 09:33:18 +00:00
Eric Andersen
0a92f35702 As waldi noticed, checks for the size of an off_t and casting
etc was also redundant and possibly buggy...
2004-03-30 09:21:54 +00:00
Eric Andersen
259cf97803 Go ahead and kill off the FDISK_SUPPORT_LARGE_DISKS option,
as it is redundant....
2004-03-30 09:13:05 +00:00
Eric Andersen
1236631700 The fdisk llseek junk was redundant, since both uClibc and glibc
automatically promote lseek and friends to their 64 bit counterparts
when CONFIG_LFS is enabled, since it enables __USE_FILE_OFFSET64
2004-03-30 09:08:58 +00:00
Eric Andersen
70060d25d2 s/fileno\(stdin\)/STDIN_FILENO/g
s/fileno\(stdout\)/STDOUT_FILENO/g
2004-03-27 10:02:48 +00:00
Eric Andersen
edd580a088 Vladimir N. Oleynik (vodz) writes:
Ok. Last patch reduce 73 bytes for compensate (and over) your changes ;-)

Comments:
Added cin_fileno variable, auto setted to 0 from BSS and have "eq" stdin
descriptor if isatty(stout)==0, removed global variable FILE* cin.
Removed default setting to terminal_width/terminal_height, this used
only from main() and setted after call get_terminal_width_height()
always correct.
Variable please_display_more_prompt changed to bits logic, have size
reducing.
--w
vodz
2004-03-27 09:49:57 +00:00
Eric Andersen
97310d0253 Brian Pomerantz writes:
I've noticed a bug in the "autowidth" feature more, and is probably in
others.  The call to the function get_terminal_width_height() passes
in a file descriptor but that file descriptor is never used, instead
the ioctl() is called with 0.  In more_main() the call to
get_terminal_width_height() passes 0 as the file descriptor instead of
fileno(cin).  This isn't a problem when you more a file (e.g. "more
/etc/passwd") but when you pipe a file to it (e.g. "cat /etc/passwd |
more") the size of the terminal cannot be determined because file
descriptor 0 is not a terminal.  The fix is simple, I've attached a
patch for more.c and get_terminal_width_height.c.


BAPper
2004-03-23 23:15:36 +00:00
Robert Griebl
6bb80870b8 Some corrections from vodz:
- Make -u/-l mutually exclusive
- Minor size reduction
2004-03-22 21:27:39 +00:00
Robert Griebl
c8685ead57 The utc variable was not modified according to the -u/-l command line
parameters.
2004-03-21 18:01:46 +00:00
Eric Andersen
c7bda1ce65 Remove trailing whitespace. Update copyright to include 2004. 2004-03-15 08:29:22 +00:00
Glenn L McGrath
b7b3bda3ba Patch from Thomas Frohlich to fix an option ordering bug of mine. 2004-03-10 10:47:37 +00:00
Glenn L McGrath
15a4f1ee50 Patch from Chris Larson (kergoth), to allow multiple directores to be
unmounted at once.
2004-02-22 11:35:13 +00:00
Glenn L McGrath
689e4b9531 Use bb_getopt_ulflags, marginal saving, better argument checking. 2004-02-22 09:11:33 +00:00
Glenn L McGrath
f461e0123d Use /var/lib/hwclock for adjtime, its really a state file rather than a
config file, so it should be in /etc, FHS mentions it also.
2004-02-22 08:33:37 +00:00
Eric Andersen
7495b0d4b1 Eliminate use of a kernel scsi header file.
Prevent potentially misaligned accesses while indexing a pointer
to the partition table, which would be a bad thing on i.e. arm.
2004-02-06 05:26:58 +00:00
Eric Andersen
d242079387 Fixup use of 'u_int' to instead use 'unsigned int' 2004-01-30 22:56:20 +00:00
Eric Andersen
dfcb5b0412 s/u_int/uint/g 2004-01-30 22:54:20 +00:00
Eric Andersen
39cdf4e2ab Use proper C99 types 2004-01-30 22:40:05 +00:00
Glenn L McGrath
348672d46d Patch from Tito, reduce size, merge functions that are only used once. 2004-01-20 12:57:18 +00:00
Eric Andersen
15eb39c25a Stephane Billiart writes:
bb_lookup_port now takes 3 parameters but rdate has not been modified
accordingly and fails to compile in the current CVS version.
The modification below fixes the problem.

Now, RFC868 allows both UDP and TCP implementations of the time protocol
so this may not work if someone defines a udp time service other than 37
but who would do that?
2004-01-18 18:18:33 +00:00
Eric Andersen
5089534be0 match changes made to cmdedit 2003-12-23 20:47:22 +00:00
Glenn L McGrath
ffccf6eb5d Change interface to bb_lookup_host, dont try and set port inside this
function as there is no gracefull way of handling failures.
Rename bb_getport to bb_lookup_port, allow a default port to be
specified so it always returns a correct value.
Modify ftpgetput/rdate/wget to use the new interface.
wget/rdate now use etc/services with a falback default value.
2003-12-20 01:47:18 +00:00
Eric Andersen
89f10bcf37 Patch from Fillod Stephane:
* The "rdate.patch" file makes rdate to NOT settimeofday if the date to be
set equals current date. This prevents the system from experiencing nasty time
discontinuities caused by sub-second changes, with a protocol that has only
over second resolution. Depending on your taste, the "fprintf(stderr..." may be
removed.
2003-12-19 11:29:29 +00:00
Eric Andersen
07d2f4052f vodz noticed we need to cast things back to an unsigned long
or the syscall will not get the proper arguments.
2003-12-19 10:34:36 +00:00
Eric Andersen
d4f7a5edad Be certain we use a correct entity when performing the
BLKGETSIZE64 ioctl -- don't just assume 8,
2003-12-12 19:05:15 +00:00
Eric Andersen
c1893c5801 Doh! I broke automatic filesystem type guessing. Fix mount so
it will properly fall back to /proc/mounts when /etc/filesystems
is missing, allowing mount to guess the correct fs type when a
fs type is not explicitly specified.
 -Erik
2003-12-12 07:01:14 +00:00
Eric Andersen
d5c746f3a8 Fix indenting.
Fix a bug noticed by Pete Flugstad.  Make certain we close what we open, and
don't try to close invalid files when /etc/filesystems exists and is used.
2003-12-09 23:50:24 +00:00
Eric Andersen
50547c0745 Do not use the _syscall5 macro -- use syscall(2) instead 2003-12-04 07:07:14 +00:00
Eric Andersen
5f28455c6e Oskar Liljeblad writes:
Here's a fix for the hard-coded device name in fbset.
2003-11-14 03:11:29 +00:00
Eric Andersen
e0c83af4ce Marc Kleine-Budde noticed a missing semicolon 2003-11-14 02:40:08 +00:00
Eric Andersen
04d055f4e1 Fix rdate and ftpget/ftpput so they compile with the new xconnect.
I have checked rdate.  Someone should also check ftpget/ftpput to
be sure they still work.
2003-11-03 21:20:18 +00:00
Eric Andersen
f6067beaa9 Avoid conflicts with the 2.6 kernel headers, which define
_IOR rather differently, thereby breaking the BLKGETSIZE64
ioctl.
 -Erik
2003-11-03 08:59:51 +00:00
Eric Andersen
e6dc439b3a Rework wget, the xconnect interface, and its various clients
in order to fix the problems with round robin DNS reported
by Andrew Flegg:
    http://busybox.net/lists/busybox/2003-October/009579.html

This removes the ipv6 specific xconnect dns lookups.  I do
not see why that would need to be special cased for ipv6 as
was done, but that will just have to be tested.

So IPV6 people -- please test this change!

 -Erik
2003-10-31 09:31:46 +00:00
Glenn L McGrath
e64bf409dd Patch from David Meggy to make the swap default to the new version if no
version is specified and the kernel is relatively new.
2003-10-31 02:04:18 +00:00
Eric Andersen
88c916bdec Andreas Mohr writes:
the busybox menuconfig triggered my "inacceptable number of spelling mistakes"
upper level, so I decided to make a patch ;-)

I also improved some wording to describe some things in a better way.

Many thanks for an incredible piece of software!

Andreas Mohr, random OSS developer
2003-10-22 09:58:56 +00:00
Glenn L McGrath
a55d72bbb4 Patch from Steven Scholz, fix some warnings 2003-10-09 11:38:45 +00:00
Eric Andersen
8efe967018 Be entirely consistant when using ioctl(0, TIOCGWINSZ, &winsize)
to ensure proper fallback behavior on, i.e. serial consoles.
 -Erik
2003-09-15 08:33:45 +00:00
Eric Andersen
c4f72d1426 fix function prototype 2003-09-15 08:13:43 +00:00
Eric Andersen
45638df230 Needs prototype for close() 2003-09-15 08:12:53 +00:00
Eric Andersen
7f2935ba0e Remove final \n 2003-09-12 08:32:24 +00:00
Eric Andersen
e15138a870 Teach rdate to timeout in 10 seconds to avoid blocking forever
with odd or broken networking setups
2003-09-12 05:50:51 +00:00
Glenn L McGrath
21aacba2b7 Logic error, patch by Matteo Croce 2003-08-29 15:39:07 +00:00
Robert Griebl
444566837c Removed some debug printfs 2003-08-26 11:06:39 +00:00
Eric Andersen
99a75d1376 Patch from Kent Robotti to being fdisk in sync with v2.12 final. 2003-08-08 20:04:56 +00:00
Eric Andersen
d3652bf334 Patch from vodz:
I wrote:
>>I think, fdisk have special ext2lseek special for:
>>disk can have size > 4Gb, but all any partitions have < 4Gb and lseek64
>>not require.
>>May be best create new configure option for set DOLFS for fdisk applet
>>if global DOLFS unset?
>


Erik Andersen wrote:
>Agreed.  Using an extra configure option when ! DOLFS
>would be a good idea.


Ok. Patch attached.
2003-08-06 09:07:37 +00:00
Eric Andersen
c774efe317 extern inline is a bad bad thing. kill it (so mkfs_minix.c will
actually compile)
2003-08-06 07:34:19 +00:00
Eric Andersen
25f95dee2d Lars Ekman writes:
When using "losetup" the device is always setup as Read-Only.

(I have only tested with the -o flag, but looking at the code the
 problem seems general)

The problem is the "opt" variable in "losetup.c" that is reused in
the "set_loop()" call. Clear it before the call and everything is OK;

  opt = 0;         /* <-------- added line */
  if (delete)
    return del_loop (argv[optind]) ? EXIT_SUCCESS : EXIT_FAILURE;
  else
    return set_loop (argv[optind], argv[optind + 1], offset, &opt)
      ? EXIT_FAILURE : EXIT_SUCCESS;
}

Best Regards,
Lars Ekman
2003-07-30 08:55:59 +00:00
Eric Andersen
040f440262 last_patch100 from vidz updating fdisk to 2.12pre 2003-07-30 08:40:37 +00:00
Eric Andersen
eef2317b9f Ronny L Nilsson writes:
If BusyBox was compiled with -DCONFIG_FEATURE_CLEAN_UP dmesg command
    segfaults if invoked with the "-n" option. (Due to a free() of an
    uninitialized pointer).
2003-07-30 06:52:33 +00:00
Eric Andersen
727f529211 There should be only one instance of CONFIG_FEATURE_AUTOWIDTH 2003-07-26 09:33:16 +00:00
Eric Andersen
f231c72630 Don't depend on CONFIG_LFS. It is really a suggestion, not a requirement,
since fdisk will work just fine on smaller disks w/o it.
2003-07-26 00:45:52 +00:00
Eric Andersen
85e5e72bc1 Remove remaining libc5 support code 2003-07-22 08:56:55 +00:00
Eric Andersen
725db196c3 Very minor rdate updates 2003-07-22 08:26:05 +00:00
Eric Andersen
d9fe958921 Error out early if people try to build mount with nfs support
using uClibc, but have not enabled UCLIBC_HAS_RPC...
 -Erik
2003-07-22 08:25:37 +00:00
Eric Andersen
cb81e6484d Update a bunch of docs. Run a script to update my email addr. 2003-07-14 21:21:08 +00:00
Eric Andersen
1eceb127bd Use standard types 2003-07-14 19:32:40 +00:00
Eric Andersen
96916b7f41 Require that LFS is enabled to get fdisk 2003-07-14 19:08:04 +00:00
Eric Andersen
341170b012 Remove all the llseek junk and just use regular old lseek. When DOLFS is
enabled, regular lseek is transparently promoted to lseek64 anyways, rendering
the llseek stuff pointless.
 -Erik
2003-07-14 19:03:14 +00:00
Eric Andersen
01c3d40f3c Add the fdformat utility, based on a patch from Kent Robotti,
but I then completely reworked the fdformat utility to comply
with the current busybox way of doing things.
2003-07-05 07:51:31 +00:00
Eric Andersen
c48d49ad98 Patch from Kent Robotti updating fdisk to version v2.11z 2003-07-03 10:02:32 +00:00
Eric Andersen
e5920a2dc0 Patch from Kent Robotti adding a bunch of menuconfig help 2003-07-03 10:00:15 +00:00
Eric Andersen
9d7f0f0fe8 Somewhere in the 2.4.x kernel series, /proc/mounts was changed to display a
"rootfs" entry as well as the traditional "/dev/root" entry.  This caused
applets such as mount and df to display two root filesystem entries....

This teaches the relevant utilities to ignore the "rootfs" entry.
 -Erik
2003-06-20 09:36:49 +00:00
Glenn L McGrath
8c6887c855 Use xopen instead of xfopen 2003-05-08 13:09:28 +00:00
Manuel Novoa III
cad5364599 Major coreutils update. 2003-03-19 09:13:01 +00:00
Eric Andersen
77831c11d1 be more careful about cleaning up 2003-03-07 18:09:06 +00:00
Eric Andersen
3719e9e790 Scrub things a bit, shave off a few bytes.
-Erik
2003-03-07 18:03:02 +00:00
Eric Andersen
1bc5fa8c0c Save a few bytes and remove a redundant string 2003-03-07 17:59:32 +00:00
Eric Andersen
2afcbe436f audit for proper error handling, apply a few size optimizations
-Erik
2003-03-07 17:33:40 +00:00
Eric Andersen
5ef448285b There is no good reason to prevent nfs mounts from being mounted
during 'mount -a'.  If the user wants to do that, hey, its their
lifs.  If the nfs server is down and they don't want to wait for
nfs to time out, that is their problem.
 -Erik
2003-02-28 06:29:27 +00:00
Eric Andersen
a0ac4523b1 Write all the help text for the util-linux utilities. Allow
people to locate the mtab file somewhere other that /etc to
accomodate read only root filesystems.
 -Erik
2003-02-27 03:14:04 +00:00
Glenn L McGrath
b4a1baa312 Correct some init issues, update email address, last_patch78 by Vladimir
N. Oleynik
2003-01-13 22:09:50 +00:00
Glenn L McGrath
4dcc2ddfcc fdisk writable feature, allows compilation of a small fdisk that can
only read partition table, by Vladimir N. Oleynik
2003-01-04 11:56:06 +00:00