{"id":17512,"date":"2026-06-14T16:04:00","date_gmt":"2026-06-14T22:04:00","guid":{"rendered":"https:\/\/www.supportpro.com\/blog\/?p=17512"},"modified":"2026-06-11T03:18:39","modified_gmt":"2026-06-11T09:18:39","slug":"disk-is-not-full-but-writes-are-failing-common-linux-storage-issues-and-how-to-fix-them","status":"publish","type":"post","link":"https:\/\/www.supportpro.com\/blog\/disk-is-not-full-but-writes-are-failing-common-linux-storage-issues-and-how-to-fix-them\/","title":{"rendered":"Disk Is Not Full, but Writes Are Failing? Common Linux Storage Issues and How to Fix Them"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>Introduction<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Linux administrators often get really frustrated when they cannot write to a disk, even when it appears there is plenty of space on the server. This can cause many problems. For example, a website owner might not be able to upload pictures, an application might not be able to create logs, or a database might just stop writing data. When you check how much disk space is being used with df -h, everything looks fine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This can be very confusing at first. Most people think that if a disk is full, that is why you cannot write to it. Linux is more complicated than that. There are a lot of things that have to work for writing to work properly, like the filesystem, inode allocation, permissions, quotas, mount configurations and temporary storage systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For companies that host websites, these kinds of problems can become issues very quickly. Customers start complaining; services get. The support team gets overwhelmed with tickets. Whether it is a shared hosting server, a VPS environment, or a dedicated server, each needs its storage system to work well. Even a small storage issue can affect many websites and applications.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The good thing is that these problems are usually easy to fix once you know what is causing them. In this guide, Linux write failures will be explored, common causes examined, and practical ways to troubleshoot and prevent these problems discussed. Linux write failures are a problem that needs to be understood. Linux administrators need to know how to deal with them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Disk is not full, but Writes are failing. Why?\u00a0<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Many people who manage computer systems think that how much space is available on a disk is what matters when creating or changing files. Linux does not just look at the space available. It uses many methods to manage storage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When someone wants to write data to a filesystem, Linux has to do a few things.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00a0It has to make sure the filesystem is working properly and can be written to.<\/li>\n\n\n\n<li>\u00a0It has to set some space for things like inodes.<\/li>\n\n\n\n<li>\u00a0It has to check that the person using the system has the right to do what they are doing.<\/li>\n\n\n\n<li>\u00a0It has to make sure that the person has not used up all the space they are allowed to use.<\/li>\n\n\n\n<li>\u00a0It has to verify that the filesystem settings allow writing.<\/li>\n\n\n\n<li>\u00a0It has to set aside some space if it needs to.<\/li>\n\n\n\n<li>It has to update the filesystem somehow.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If any of these things do not work right, it can stop the system from writing to the filesystem. This is why people who take care of systems sometimes see things like this happen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>They try to upload a file. It does not work.<\/li>\n\n\n\n<li>Log files just stop getting bigger.<\/li>\n\n\n\n<li>Email does not get delivered.<\/li>\n\n\n\n<li>Programs indicate a problem with permissions or storage.<\/li>\n\n\n\n<li>Databases cannot make files.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The weird thing is that when they check how much space is available on the disk, it says there is still space. To fix these kinds of problems, people who manage systems need to understand how Linux really works with storage. Linux and storage are a thing.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Common Linux Storage Issues<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. File system issues:&nbsp;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Even with free space, file system corruption can make the file system read-only. This happens if there are any unexpected server shutdowns, hardware failures, or improper unmounting.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It can also occur if the filesystem detects inconsistencies. On a Linux system, it will automatically remount it read-only to prevent further data loss.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If any write operation is attempted, it will fail.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Inode Exhaustion:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In Linux systems, inodes store metadata about files. If the system runs out of inodes, we can&#8217;t create new files or directories even though the disk has free space.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>You can check inode usage with:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>df -i<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the IUse% column is at 100 %, that means the inode is full and is likely the culprit.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Solutions for this include deleting unnecessary files and archiving small files; also check whether any website has a large number of session files that can be deleted with users&#8217; confirmation. If no files can be remoted, then the option is creating a filesystem with a higher inode ratio.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Permissions and ownership:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In Linux, a strict file permission model is followed. Even if there is free space, a user without proper permissions will encounter issues when writing or modifying files\/directories. Also, incorrect ownership can cause the issue and block write operations.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check ownership or permissions with a command like:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>&#8212;&#8212;&#8212;&#8212;-<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>ls -l \/pathtofile\/<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>&#8212;&#8212;&#8212;&#8212;-<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Using the commands below, permissions and ownership can be adjusted:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>sudo chown user: user \/path\/to\/directory<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>sudo chmod 755 \/path\/to\/directory<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Disk Quotas:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the system is multi-user, at the administrator level, disk quotas can be set to limit the amount of space or the number of files a user can create. If these quota limits are exceeded, write operations will fail even when disk space is free.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The command can be used to check user quotas:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>quota -u username<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Replace your own username in the command.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At administrator level, quotas can be set up with:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">setquota -u username block-softlimit block-hardlimit inode-softlimit inode-hardlimit \/dev\/sdX1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5. Mount options:&nbsp;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are a few mount options that prevent write operations.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, if the filesystem is mounted read-only, it will block write operations. It can be mounted read-only for any purpose, either intentionally or as a result of a detected server error.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can check the mount status:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>mount | grep \/mount_point<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Or you can check the\/etc\/fstab file to verify the mount options.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We can remount the filesystem with write operations :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>sudo mount -o remount,rw \/mount\/point<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For this, root access to the system is required.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>6. Filesystem Reserved Blocks:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Linux filesystems, such as ext4 and XFS, reserve a portion of disk space, typically 5%, for the root user. This ensures system stability but can prevent regular users from writing data when the disk is almost full<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To view reserved blocks:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>tune2fs -l \/dev\/sdX | grep &#8216;Reserved block count&#8217;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Replace your disk block with sdX.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check this with &#8221; fdisk -l &#8220;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To reduce reserved space, make sure you understand it and the system partitions before using this.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>sudo tune2fs -m 1 \/dev\/sdX<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>7. Temporary Filesystem Limits:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On a server, a few filesystems, such as tmpfs or \/run, reside in memory and have strict size limits. Writes may fail even if the physical disk has free space.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can check the usage with&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>df -h \/tmp<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We can increase the tmpfs size in \/etc\/fstab or move large temporary files to disk-backed storage as needed.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to fix the issue<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once the cause of the write failure has been identified, the next step is to resolve the issue. The appropriate fix will depend on whether the problem is related to the filesystem, inodes, permissions, quotas, or mount settings. Below are some common troubleshooting steps that can help restore normal write operations on a Linux system. You can follow the steps below to diagnose the issues:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Check disk space and inodes:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>df -h<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>df -I<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Review filesystem integrity:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sudo umount \/dev\/sdX1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sudo fsck \/dev\/sdX1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Verify permissions and ownership:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ls -l \/path\/to\/directory<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Inspect disk quotas:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">quota -u username<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5. Examine mount options:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">mount | grep \/mount_point<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>6. Check for temporary filesystem limits if writing to tmpfs or \/run.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When you try to write something and it does not work even though you have space on your disk, the problem is usually not just about the space. There are other things that can cause this problem, such as a corrupted filesystem, running out of inodes, permission issues or quota restrictions, problems with how your disk is mounted, reserved blocks, or temporary limits on your filesystem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For web hosting providers and <a href=\"https:\/\/www.supportpro.com\/blog\/clear-cache-memory-in-linux-without-rebooting\/\" title=\"\">Linux<\/a> administrators, it is important to understand the causes of these problems. This way, they can keep their servers running and ensure their customers do not have too many problems. If they follow a step-by-step process to troubleshoot the problem and keep an eye on things, they can fix problems faster and stop similar problems from happening again.<\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center has-white-background-color has-background\"><div class=\"wp-block-media-text__content\">\n<p class=\"has-large-font-size wp-block-paragraph\">Facing issues? <\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">Our technical support<br>engineers can solve it. <\/p>\n\n\n\n<!--HubSpot Call-to-Action Code --><span class=\"hs-cta-wrapper\" id=\"hs-cta-wrapper-3350a795-db50-482f-9911-301930d1b1be\"><span class=\"hs-cta-node hs-cta-3350a795-db50-482f-9911-301930d1b1be\" id=\"hs-cta-3350a795-db50-482f-9911-301930d1b1be\"><!--[if lte IE 8]><div id=\"hs-cta-ie-element\"><\/div><![endif]--><a href=\"https:\/\/cta-redirect.hubspot.com\/cta\/redirect\/2725694\/3350a795-db50-482f-9911-301930d1b1be\" ><img decoding=\"async\" class=\"hs-cta-img\" id=\"hs-cta-img-3350a795-db50-482f-9911-301930d1b1be\" style=\"border-width:0px;\" src=\"https:\/\/no-cache.hubspot.com\/cta\/default\/2725694\/3350a795-db50-482f-9911-301930d1b1be.png\"  alt=\"Contact Us today!\"\/><\/a><\/span><script charset=\"utf-8\" src=\"https:\/\/js.hscta.net\/cta\/current.js\"><\/script><script type=\"text\/javascript\"> hbspt.cta.load(2725694, '3350a795-db50-482f-9911-301930d1b1be', {\"useNewLoader\":\"true\",\"region\":\"na1\"}); <\/script><\/span><!-- end HubSpot Call-to-Action Code -->\n<\/div><figure class=\"wp-block-media-text__media\"><img fetchpriority=\"high\" decoding=\"async\" width=\"904\" height=\"931\" src=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup.png\" alt=\"guy server checkup\" class=\"wp-image-12943 size-full\" srcset=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup.png 904w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-291x300.png 291w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-768x791.png 768w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-585x602.png 585w\" sizes=\"(max-width: 904px) 100vw, 904px\" \/><\/figure><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Linux administrators often get really frustrated when they cannot write to a disk, even when it appears there is plenty of space on the server. This can cause many&hellip;<\/p>\n","protected":false},"author":39,"featured_media":17513,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[91],"tags":[],"class_list":["post-17512","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/17512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/users\/39"}],"replies":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/comments?post=17512"}],"version-history":[{"count":1,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/17512\/revisions"}],"predecessor-version":[{"id":17521,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/17512\/revisions\/17521"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/media\/17513"}],"wp:attachment":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/media?parent=17512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/categories?post=17512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/tags?post=17512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}